Secara otomatis me-mount AFP untuk Time Machine (tanpa menyimpan kata sandi dalam plaintext)

0

Saya memiliki kotak Linux yang menjalankan Netatalk yang saya gunakan untuk menyimpan cadangan Time Machine. Mesin saya yang menjalankan OS X melihat ini sebagai layanan AFP dan Time Machine senang dengan pengaturan ini. Satu-satunya masalah adalah bahwa saya harus terhubung secara manual ke mesin Linux. Saya bisa melakukan ini dengan menekan tombol di Finder atau saya bisa melakukan ini dengan shell dengan perintah yang terlihat seperti ini:

mount -t afp afp://user:[email protected]/location /Volumes/mntpnt

Ini memungkinkan saya mengotomatiskan koneksi ke server tetapi sekarang saya memiliki kata sandi yang disimpan dalam skrip shell plaintext. Apa cara yang lebih baik untuk mengotomatisasi ini? Tujuan saya adalah untuk secara otomatis mengizinkan Time Machine untuk mengakses Mesin Linux jika itu dapat dicapai.

Untuk mengotomatisasi sesuatu seperti ini dengan SSH saya akan mengotentikasi dengan kunci tanpa kata sandi. Apakah ada cara untuk melakukan itu dengan AFP?

Saya juga memiliki kata sandi di gantungan kunci OS X saya dan saya tidak diminta kata sandi jika saya pergi melalui Finder untuk terhubung ke mesin Linux. Apakah ada cara yang masuk akal untuk mengakses menggunakan ini dari skrip shell?

Saya dapat memberikan lebih banyak info tentang pengaturan Netatalk jika itu membantu tetapi sepertinya masalahnya ada di sisi klien.

Praxeolitic
sumber

Jawaban:

1

Inilah cara Anda dapat mengeluarkan kata sandi dari Keychain di OS X.

pw=$(security find-internet-password -wl mntpt)

Ini menganggap item tersebut disimpan di gantungan kunci dengan nama "mntpt"

Maka Anda harus dapat menggunakan skrip Anda di baris berikutnya:

mount -t afp afp://user:[email protected]/location /Volumes/mntpnt
ghoppe
sumber
Saya mendapatkan "kesalahan skrip: Nama kelas yang diharapkan tetapi menemukan properti." yang sepertinya disebabkan oleh garis yang dimulai dengan set serverKey.
Praxeolitic
@Praxeolitic Ah maaf, metode ini tidak berfungsi karena Keychain Scripting dihapus dari OS X.: / - Saya menemukan metode lain, mengubah jawaban saya.
ghoppe
Ini terlihat menjanjikan tetapi saya bingung dengan penggunaan Anda mntpntpada perintah pertama. Dalam contoh saya ini dimaksudkan sebagai nama direktori arbitrer yang tidak selalu memiliki hubungan khusus ke server.
Praxeolitic
Dari halaman manual securitysaya punya ini berfungsi tetapi saya tidak 100% jelas, pada satu hal. Apakah "label" di halaman manual sesuai dengan kolom "Nama" di Akses Keychain?
Praxeolitic
@Praxeolitic Ya.
ghoppe