Untuk jaringan hanya Linux saya menemukan SSHFS sebagai yang asli, stabil dan sangat cepat. Saya memiliki dua mesin Xubuntu (18,04) berbagi / folder rumah melalui SSH.
Berikut ini cara mengatur sshfs ini dan secara otomatis menyambung kembali setelah reboot menggunakan fstab tanpa harus memberikan kata sandi. Terima kasih banyak kepada pengguna serverfault kubanczyk untuk cara menghubungkan kembali setelah penangguhan / resume jarak jauh.
Saya akan menggunakan "Mesin lokal - surfbox" untuk komputer yang Anda sambungkan, dan "Mesin jarak jauh - devbox" untuk komputer yang Anda sambungkan.
Ganti "remoteuser" di bawah ini dengan nama pengguna yang Anda masuk dengan di mesin Remote, dan "pengguna lokal" dengan nama pengguna yang Anda masuk dengan di mesin lokal. Untuk memverifikasi nama pengguna ketikkan echo $USER
terminal pada mesin jarak jauh & lokal.
Juga, periksa UserID dan GroupID Anda, keduanya harus 1000.
GroupID: id -g localuser
UserID:id -u localuser
1. Dapatkan alamat IP dari Mesin Lokal & Jarak Jauh Anda.
hostname -I
Saya akan menggunakan 192.168.1.150 untuk Mesin Lokal ('surfbox') dan 192.168.1.151 untuk Mesin Jarak Jauh ('devbox')
2. Instal paket pada Mesin Lokal dan Remote
sudo apt install sshfs fuse ssh
3. Buat sekering grup dan tambahkan pengguna lokal ke dalamnya
Membuat grup: sudo groupadd fuse
Tambahkan pengguna lokal ke grup: sudo usermod -a -G fuse $user
4. Aktifkan "allow_other" dalam konfigurasi sekering
Kami akan membutuhkan opsi ini saat memasang di fstab
Edit /etc/fuse.conf
dengan editor baris perintah Anda. Hapus tagar sebelum user_allow_other
dan simpan.
5. Hasilkan kunci SSH pada Mesin Lokal
Jangan berikan kata sandi saat diminta . Cukup tekan Enter untuk membiarkannya kosong.
ssh-keygen -t rsa -C youremail@example.com
Kunci disimpan di folder home direktori / .ssh mesin lokal
6. Transfer kunci SSH publik mesin lokal Anda ke mesin jarak jauh
ssh-copy-id -i ~/.ssh/id_rsa.pub remoteuser@192.168.1.151
Anda akan dimintai kata sandi untuk pengguna Remote di mesin Remote. Kunci publik mesin lokal sekarang ditambahkan ke file ~ / .ssh / otor_keys pada mesin Remote.
7. Buat direktori pada folder mesin / mnt lokal di mana Anda akan me-mount folder mesin / home Remote.
Pilih nama apa pun yang masuk akal untuk mesin Remote Anda.
sudo mkdir /mnt/devboxhome
8. Pasang direktori Remote mesin / rumah dari terminal
Sintaks untuk sshfs adalah
sshfs [user@]host:[directory] mountpoint [options]
kita gunakan
sudo sshfs [remoteuser]@192.168.1.151:/home/[remoteuser] /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/[localuser]/.ssh/id_rsa
contoh: dengan asumsi "steve" adalah nama pengguna pada mesin Lokal dan Remote
sudo sshfs steve@192.168.1.151:/home/steve /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/steve/.ssh/id_rsa
Karena Anda telah mentransfer kunci RSA publik ke mesin Jarak Jauh, Anda seharusnya tidak dimintai kata sandi pengguna jarak jauh.
Anda akan mendapat peringatan bahwa mesin tidak dipercaya dan diminta jika harus ditambahkan. Tambahkan mesin Remote sebagai tepercaya.
9. Verifikasi: Jelajahi direktori Remote Machine / home
Di terminal pada mesin lokal Anda sekarang dapat daftar Remote mesin / direktori home di bawah / mnt / devboxhome
cd /mnt/devboxhome
ls
atau gunakan Nautilus untuk menelusuri direktori. Bagus.
10. Aktifkan koneksi ulang setelah reboot
Kami akan menambahkan entri di / etc / fstab untuk mewujudkannya. Anda akan memerlukan userid och groupid mesin Lokal Anda - lihat intro jika Anda melewatkan ini. Edit / etc / fstab dengan editor baris perintah Anda dan tambahkan dua baris ini di akhir / etc / fstab
# Mount devbox at boot
remoteuser@192.168.1.151:/home/[remoteuser]/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/[localuser]/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
- delay_connect membuat kernel menunggu sampai jaringan aktif sampai mencoba memasang direktori pada mesin Remote.
- Karena kita menjalankan sebagai root selama boot, kita harus menentukan keyfile yang disimpan di direktori home pengguna lokal.
- allow_other - pengguna selain yang melakukan pemasangan aktual dapat mengakses sistem file yang dipasang.
- idmap = pengguna - hanya menerjemahkan UID untuk menghubungkan pengguna
- sambungkan kembali, ServersLiveInterval, ServerAliveCountMax - ssh mengirim ping yang tetap hidup. Jika
ServerAliveCountMax
ping berturut-turut gagal, sambungkan kembali.
Seorang pengguna yang masuk sebagai steve pada mesin Lokal dan Remote akan memiliki:
steve@192.168.1.151:/home/steve/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/steve/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
PENTING : garis miring setelah direktori jarak jauh: steve@192.168.1.151: / home / steve /
simpan / etc / fstab dan ....
11. Reboot
Anda sekarang seharusnya dapat mengakses direktori mesin / home Remote di mesin lokal / mnt / devboxhome Di Nautilus Anda dapat menyeret folder ini ke bilah Places
12. Ulangi
Pergi melalui langkah-langkah yang sama lagi pada mesin Remote untuk membuat direktori / home mesin lokal dibagi.