Yalnızca Linux ağları için SSHFS'nin yerel, kararlı ve çok hızlı olduğunu düşünüyorum. SSH üzerinden iki Xubuntu makinem (18.04) paylaşım / ev klasörüm var.
İşte sshfs'i nasıl ayarlayacağınız ve bir şifre sağlamak zorunda kalmadan fstab'ı kullanarak yeniden başlattıktan sonra otomatik olarak yeniden bağlanmaya başlamanız . Uzaktan askıya alma / sürdürme işleminden sonra yeniden nasıl bağlanacağı için serverfault kullanıcısına kubanczyk'e teşekkür ederiz .
Bağlandığınız bilgisayar için "Yerel makine - sörf kutusu" ve bağlandığınız bilgisayar için "Uzak makine - aygıt kutusu" kullanacağım.
Uzaktaki makineye giriş yaptığınız kullanıcı adıyla aşağıdaki "uzak kullanıcı" yı ve Yerel makinede giriş yaptığınız kullanıcı adı olan "yerel kullanıcı" yı değiştirin. Kullanıcı adlarını doğrulamak echo $USER
için uzak ve yerel makinelerde terminal yazın .
Ayrıca, kullanıcı kimliğinizi ve grup kimliğinizi kontrol edin, her ikisi de 1000 olmalıdır.
Grup id -g localuser
kimliği: Kullanıcı kimliği:id -u localuser
1. Yerel ve Uzak Makinelerinizin IP adreslerini alın.
hostname -I
Yerel Makine ('surfbox') için 192.168.1.150 ve Uzak Makine ('devbox') için 192.168.1.151 kullanacağım
2. Yerel ve Uzak Makinelere paketleri kurun
sudo apt install sshfs fuse ssh
3. Bir grup sigortası oluşturun ve yerel kullanıcı ekleyin
Grup oluştur: sudo groupadd fuse
Gruba yerel kullanıcı ekle: sudo usermod -a -G fuse $user
4. Sigorta konfigürasyonunda "allow_other" i etkinleştirin
Fstab'a monte ederken bu seçeneğe ihtiyacımız olacak
Düzenleme /etc/fuse.conf
komut satırı editörü ile. Hashtag'i önce çıkarın user_allow_other
ve saklayın.
5. Yerel Makinede SSH anahtarları oluşturun
İstendiğinde bir şifre girmeyin . Boş bırakmak için sadece Enter tuşuna basın.
ssh-keygen -t rsa -C youremail@example.com
Anahtarlar Yerel makine giriş dizini /.ssh klasöründe saklanır
6. Yerel makine genel SSH anahtarınızı Uzak makineye aktarın
ssh-copy-id -i ~/.ssh/id_rsa.pub remoteuser@192.168.1.151
Uzak makinede Uzak kullanıcı için parola girmeniz istenir. Yerel makine ortak anahtarı şimdi Uzak makinedeki ~ / .ssh / yetkili_keys dosyasına eklenir.
7. Uzak makine / ana klasörü bağlayacağınız Yerel makine / mnt klasöründe bir dizin oluşturun.
Uzak makineniz için anlamlı olan herhangi bir adı seçin.
sudo mkdir /mnt/devboxhome
8. Uzak makineyi / ana dizini terminalden ekleyin
Sshfs için sözdizimi
sshfs [user@]host:[directory] mountpoint [options]
kullanırız
sudo sshfs [remoteuser]@192.168.1.151:/home/[remoteuser] /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/[localuser]/.ssh/id_rsa
örnek: "steve" olduğunu farz etmek, hem Yerel hem de Uzak makinelerde kullanıcı adıdır.
sudo sshfs steve@192.168.1.151:/home/steve /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/steve/.ssh/id_rsa
Genel RSA anahtarını Uzak makineye aktardığınızdan, uzak kullanıcı şifresi girmeniz istenmemelidir.
Makinenin güvenilir olmadığı ve eklenmesi gerekip gerekmediği konusunda uyarıda bulunulur. Uzak makineyi güvenilir olarak ekleyin.
9. Doğrulayın: Uzak Makine / Ana dizine göz atın
Yerel makinedeki terminalde artık / mnt / devboxhome altındaki Uzak makine / ana dizini listeleyebilirsiniz.
cd /mnt/devboxhome
ls
veya dizine göz atmak için Nautilus kullanın. Harika.
10. Yeniden başlattıktan sonra yeniden bağlanmayı etkinleştir
Bunun gerçekleşmesi için / etc / fstab içine bir girdi ekleyeceğiz. Yerel makine kullanıcısı ve grup bilgisine ihtiyacınız olacak - bunu kaçırdıysanız intro'ya bakın. Komut satırı düzenleyicinizle / etc / fstab dosyasını düzenleyin ve bu iki satırı / etc / fstab komutunun sonuna ekleyin
# 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 , çekirdeği, Uzak makineye dizini bağlamaya çalışıncaya kadar ağ kuruluncaya kadar beklemesini sağlar.
- Önyükleme sırasında root olarak çalıştığımız için localuser home dizininde saklanan keyfile'yi belirtmeliyiz .
- allow_other - asıl montajı yapan kullanıcılar dışındaki kullanıcılar bağlı dosya sistemine erişebilir.
- idmap = kullanıcı - yalnızca bağlanan kullanıcının UID'sini çevir
- yeniden bağlan, ServersLiveInterval, ServerAliveCountMax - ssh canlı tutma pingleri gönderir. Eğer
ServerAliveCountMax
ardışık ping başarısız, yeniden bağlayın.
Yerel ve Uzak makinelerde steve olarak giriş yapan bir kullanıcı:
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
ÖNEMLİ : uzak dizinden sonra bir eğik çizgi: steve@192.168.1.151: / home / steve /
kaydet / etc / fstab ve ....
11. Yeniden başlat
Şimdi Yerel makine / mnt / devboxhome dizinindeki Uzak makine / ana klasöre erişebilmeniz gerekir. Nautilus'ta bu klasörü Yerler çubuğuna sürükleyebilirsiniz
12. tekrarla
Yerel makinenin / home dizininin paylaşılması için Uzaktaki makinede de aynı adımları uygulayın.