SSH kullanarak uzak dizini bağla


69

Uzaktaki bir dizini SSH, yerel bir dizinmiş gibi kullanılabilecek şekilde nasıl kullanmalı

Yanıtlar:


78

İlk önce modülü kurun:

sudo apt-get install sshfs

Çekirdeğe yükleyin:

sudo modprobe fuse

İzinleri ayarlama (Ubuntu sürümleri <16.04):

sudo adduser $USER fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /dev/fusermount

Şimdi uzak klasörü monte etmek için bir dizin oluşturacağız.

Ana dizinde oluşturmayı ve aramayı seçtim remoteDir.

mkdir ~/remoteDir

Şimdi onu monte etme komutunu çalıştırdım (eve monte et):

sshfs maythux@192.168.xx.xx:/home/maythuxServ/Mounted ~/remoteDir

Şimdi monte edilmelidir:

cd ~/remoteDir
ls -l

Biraz kafam karıştı ... sshfskomutta, mountpoint yerel dizininin ismini verdiğimi düşünüyorum remoteDirve ssh sunucusuyken, /home/maythuxServ/Mountedyerel olarak monte edilmemiş bir dir var ve söyleyemem ya da Başka bir yere monte edilmiş mi?
Volker Siegel

3
Aşağıdaki kılavuzu kullandığımda bu adımların 14.04
Hemm

4
Sigorta grubuna gerek yok (Ubuntu 16.04, Kas 2017): stackoverflow.com/questions/35635631/ubuntu-15-10-no-fuse-group
Matt Kleinsmith

2
18.04'te 2. blok ayar izinlerinin tamamını atladım ve iyi çalışıyor.
iyimser

3
Bu cevabın yarısı ya çalışmıyor ya da eskimiş. Lütfen güncellemeyi düşünün.
Luís de Sousa

18

Ssh anahtar tabanlı kimlik doğrulamasını yapılandırma

Yerel ana bilgisayarda anahtar çifti oluşturun.

$ ssh-keygen -t rsa

Enter ile tüm önerileri kabul edin.

Genel anahtarı uzaktaki ana bilgisayara kopyala:

$ ssh-copy-id -i .ssh/id_rsa.pub user@host

Sshfs yükle

$ sudo apt install sshfs

Uzak dizini bağla

$ sshfs user@host:/remote_directory /local_directory

/ Etc / fstab dizinine uzak fs eklemeyi denemeyin

Veya /etc/rc.local aracılığıyla paylaşımları artırmaya çalışmayın.

Her iki durumda da, init / etc / fstab yazdığında ağ kullanılamadığından çalışmayacaktır.

AutoFS'yi yükleyin

$ sudo apt install autofs

/Etc/auto.master dosyasını düzenleyin

Aşağıdaki satırları yorumlayın

#+/etc/auto.master.d
#+/etc/auto.master

Yeni bir satır ekle

/- /etc/auto.sshfs --timeout=30

Kaydet ve çık

/Etc/auto.sshfs dosyasını düzenleyin

Yeni bir satır ekle

/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory

Uzak kullanıcı adı zorunludur.

Kaydet ve çık

Autofs hata ayıklama modunda başlat

$ sudo service autofs stop
$ sudo automount -vf

Uzak ssh sunucusunun günlüklerini inceleyin

$ ssh user@remote_server
$ sudo tailf /var/log/secure

Yerel dizinin içeriğini kontrol et

Uzak dizinin içeriğini görmelisin

Autofs'i normal modda başlat

CTRL-C ile hata ayıklama modunda çalışan AutoFS'yi durdurun.

AutoFS'yi normal modda başlat

$ sudo service autofs start

Keyfini çıkarın

(Ubuntu 14.04'te test edilmiştir)


5

Denemelerime dayanarak, açıkça sigorta grubunu oluşturmak ve kullanıcı eklemek için ssh dosya sistemini kurmak gerekli DEĞİLDİR.

Özetlemek gerekirse, bu sayfadan kopyalanan adımlar:

  1. Yüklemek sshfs

$ sudo apt-get install sshfs

2. yerel montaj noktası oluşturun

$ mkdir /home/johndoe/sshfs-path/

3.Mount uzak klasör /remote/pathiçin/home/johndoe/sshfs-path/

$ sshfs remoteuser@111.222.333.444:/remote/path /home/johndoe/sshfs-path/

  1. Ve nihayet, miktarını ...

$ fusermount -u /home/johndoe/sshfs-path/


3

Sshfs yükle

sudo apt-get install sshfs

Fstab'e ekle:

<USER>@<SERVER_NAME>:<server_path> <local_path> fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<YOUR_USER_NAME>/.ssh/id_rsa,allow_other,default_permissions,rw,nosuid,nodev,uid=1000,gid=1000,nonempty 0 0
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.