Pasang direktori jarak jauh menggunakan SSH

69

Bagaimana cara me-mount direktori remote menggunakan SSHagar tersedia sama seperti jika itu adalah direktori lokal?

Maythux
sumber

Jawaban:

78

Pertama instal modul:

sudo apt-get install sshfs

Muat ke kernel:

sudo modprobe fuse

Pengaturan izin (versi Ubuntu <16.04):

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

Sekarang kita akan membuat direktori untuk memasang folder jarak jauh.

Saya memilih untuk membuatnya di direktori home saya dan menyebutnya remoteDir.

mkdir ~/remoteDir

Sekarang saya menjalankan perintah untuk memasangnya (mount di rumah):

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

Sekarang harus dipasang:

cd ~/remoteDir
ls -l
Maythux
sumber
Saya agak bingung ... dalam sshfsperintah, saya berpikir bahwa direktori lokal mountpoint bernama remoteDir, dan ketika saya berada di ssh serever, ada direktori /home/maythuxServ/Mountedyang tidak di-mount secara lokal, dan saya tidak tahu, atau peduli, apakah sudah terpasang di tempat lain?
Volker Siegel
3
Saya melewatkan beberapa langkah ini di bawah 14,04 ketika saya menggunakan panduan berikut: help.ubuntu.com/community/SSHFS
Hemm
4
Tidak diperlukan grup fuse (Ubuntu 16.04, Nov 2017): stackoverflow.com/questions/35635631/ubuntu-15-10-no-fuse-group
Matt Kleinsmith
2
Pada 18,04, saya melewatkan izin pengaturan - blok 2 penuh dan berfungsi dengan baik.
optimis
3
Setengah dari jawaban ini tidak berfungsi atau sudah usang. Silakan pertimbangkan untuk memperbarui.
Luís de Sousa
18

Konfigurasikan otentikasi berbasis kunci ssh

Hasilkan pasangan kunci pada host lokal.

$ ssh-keygen -t rsa

Terima semua saran dengan tombol enter.

Salin kunci publik ke host jarak jauh:

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

Instal sshfs

$ sudo apt install sshfs

Pasang direktori jarak jauh

$ sshfs user@host:/remote_directory /local_directory

Jangan mencoba menambahkan fs jarak jauh ke / etc / fstab

Atau jangan coba me-mount share melalui /etc/rc.local.

Dalam kedua kasus itu tidak akan berfungsi karena jaringan tidak tersedia ketika init membaca / etc / fstab.

Instal AutoFS

$ sudo apt install autofs

Edit /etc/auto.master

Komentari baris berikut

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

Tambahkan baris baru

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

Simpan dan keluar

Edit /etc/auto.sshfs

Tambahkan baris baru

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

Nama pengguna jarak jauh adalah wajib.

Simpan dan keluar

Mulai autofs dalam mode debug

$ sudo service autofs stop
$ sudo automount -vf

Amati log dari server ssh jarak jauh

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

Periksa konten direktori lokal

Anda akan melihat isi direktori jarak jauh

Mulai autof dalam mode normal

Hentikan AutoFS yang berjalan dalam mode debug dengan CTRL-C.

Mulai AutoFS dalam mode normal

$ sudo service autofs start

Nikmati

(Diuji pada Ubuntu 14.04)

Wojciech Domalewski
sumber
5

Berdasarkan percobaan saya, secara eksplisit membuat grup sekering dan menambahkan pengguna Anda ke dalamnya TIDAK diperlukan untuk me-mount sistem file ssh.

Untuk meringkas, berikut adalah langkah-langkah yang disalin dari halaman ini:

  1. Pasang sshfs

$ sudo apt-get install sshfs

2. Buat titik mount lokal

$ mkdir /home/johndoe/sshfs-path/

3.Mount folder jauh /remote/pathke/home/johndoe/sshfs-path/

$ sshfs [email protected]:/remote/path /home/johndoe/sshfs-path/

  1. Dan akhirnya, untuk menghitung ...

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

Prathu Baronia
sumber
3

Instal sshfs

sudo apt-get install sshfs

Tambahkan ke fstab:

<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
Sergei
sumber