Menggunakan kotak NAS sebagai server file 24/7, saya ingin menggunakan sshfs untuk menghubungkannya dari desktop Ubuntu 9.04. Saat ini, saya memiliki baris ini di fstab desktop:
sshfs#jldugger@storage:/mnt/HD_a2/ /mnt/storage fuse comment=sshfs,auto,users,exec,uid=1000,gid=1000,allow_other,reconnect,transform_symlinks,BatchMode=yes,fsname=sshfs#jldugger@storage/mnt/HD_a2/ 0 0
Saya dapat mengkonfirmasi itu berfungsi dengan mount /mnt/storage
. Yang saya butuhkan adalah beberapa metode untuk memasangnya saat startup, tetapi setelah koneksi jaringan dibuat.
Jawaban:
Saat ini, pemula di Ubuntu tidak menghasilkan acara jaringan. Sebaliknya itu disebut sysvinit tradisional. Secara default NetworkManager diinstal dan dijalankan; alih-alih memancarkan kejadian jaringan untuk memulai, itu berisi dispatcher run-parts (/etc/NetworkManager/dispatcher.d/) yang dengan sendirinya hanya bergantung pada dispatcher run-parts ifupdown (/etc/network/*.d/). Khususnya Anda peduli tentang /etc/network/if-up.d/ dan /etc/network/if-down.d/
Pertama-tama atur ssh keypair yang tidak terenkripsi, sehingga Anda bisa memasang titik tanpa prompt. Tulis skrip, letakkan di /etc/network/if-up.d/ dan buat eksekusi. Berikut ini ditemukan di UbuntuForums dan cukup bagi saya:
Jika Anda memiliki wifi atau koneksi yang tidak dapat diandalkan, letakkan yang berikut ini di /etc/network/if-down.d/:
sumber
echo
perintah yang keluaran ke stdout kelogger -t mountsshfs
perintah sebagai gantinya sehingga keluaran akan pergi ke syslog.Pemula adalah metode yang disukai untuk menerbitkan skrip startup atau layanan di Ubuntu sekarang, meskipun pengeditan
/etc/rc.local
masih berfungsi. Pemula memungkinkan Anda untuk mengontrol ketika layanan dijalankan, memastikan itu terjadi setelah memulai koneksi jaringan Anda.Dimungkinkan juga untuk mengedit symlink di /etc/rc.Xd secara langsung, (gantikan X untuk run-level yang Anda gunakan) dan tambahkan nama seperti S99mount untuk memastikan bahwa symlink berjalan setelah pengaturan jaringan. Ini perlu menunjuk ke file skrip yang me-mount sshfs yang Anda minta.
sumber
_netdev sebagai opsi mount harus menyelesaikan ini, saya percaya
sumber
Hanya pemikiran, tetapi jika Anda menggunakan ini sebagai file server, mungkin NFS atau Samba akan menjadi solusi yang lebih baik daripada ssh.
sumber
Berikut adalah solusi lain jika Anda tidak memiliki sertifikat dari host jarak jauh dan harus menggunakan login / kata sandi. Saya menggunakan dalam contoh ini nama pengguna dan direktori yang sama yang digunakan oleh jldugger untuk menghindari kebingungan.
Buat file yang berisi kata sandi Anda di direktori home Anda, dan amankan:
Edit
/etc/rc.local
file Anda dan masukkan perintah berikut di bagian bawah, tetapi sebelum "keluar 0":sumber