Montare la directory remota usando SSH


69

Come montare una directory remota usando SSHper essere disponibile come se fosse una directory locale?

Risposte:


78

Innanzitutto installa il modulo:

sudo apt-get install sshfs

Caricalo nel kernel:

sudo modprobe fuse

Permessi di impostazione (versioni di Ubuntu <16.04):

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

Ora creeremo una directory in cui montare la cartella remota.

Ho scelto di crearlo nella mia directory home e chiamarlo remoteDir.

mkdir ~/remoteDir

Ora ho eseguito il comando per montarlo (mount su home):

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

Ora dovrebbe essere montato:

cd ~/remoteDir
ls -l

Sono un po 'confuso ... nel sshfscomando, penso che la directory locale mountpoint sia denominata remoteDire quando sono sul server SSH, c'è una directory /home/maythuxServ/Mountedche non è montata localmente e non posso dirlo, oppure cura, se è montato altrove?
Volker Siegel,

3
Ho saltato alcuni di questi passaggi in 14.04 quando ho usato la seguente guida: help.ubuntu.com/community/SSHFS
Hemm

4
Nessun gruppo di micce necessario (Ubuntu 16.04, Nov 2017): stackoverflow.com/questions/35635631/ubuntu-15-10-no-fuse-group
Matt Kleinsmith

2
Il 18.04, ho saltato l'intero secondo blocco - permessi di impostazione e funziona benissimo.
ottimista il

3
La metà di questa risposta o non funziona o è obsoleta. Si prega di considerare l'aggiornamento.
Luís de Sousa,

18

Configurare l'autenticazione basata su chiave ssh

Genera coppia di chiavi sull'host locale.

$ ssh-keygen -t rsa

Accetta tutte le richieste con il tasto Invio.

Copia la chiave pubblica sull'host remoto:

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

Installa sshfs

$ sudo apt install sshfs

Montare la directory remota

$ sshfs user@host:/remote_directory /local_directory

Non provare ad aggiungere fs remoti a / etc / fstab

Oppure non provare a montare le condivisioni tramite /etc/rc.local.

In entrambi i casi non funzionerà poiché la rete non è disponibile quando init legge / etc / fstab.

Installa AutoFS

$ sudo apt install autofs

Modifica /etc/auto.master

Commenta le seguenti righe

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

Aggiungi una nuova linea

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

Salva ed esci

Modifica /etc/auto.sshfs

Aggiungi una nuova linea

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

Il nome utente remoto è obbligatorio.

Salva ed esci

Avvia autofs in modalità debug

$ sudo service autofs stop
$ sudo automount -vf

Osservare i registri del server remoto ssh

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

Controlla il contenuto della directory locale

Dovresti vedere i contenuti della directory remota

Avvia autofs in modalità normale

Interrompere l'esecuzione di AutoFS in modalità debug con CTRL-C.

Avviare AutoFS in modalità normale

$ sudo service autofs start

Godere

(Testato su Ubuntu 14.04)


5

Sulla base dei miei esperimenti, non è necessario creare esplicitamente il gruppo di fusibili e aggiungere l'utente ad esso per montare il file system ssh.

Per riassumere, ecco i passaggi copiati da questa pagina:

  1. Installare sshfs

$ sudo apt-get install sshfs

2. Creare un punto di montaggio locale

$ mkdir /home/johndoe/sshfs-path/

3.Montare la cartella remota /remote/pathsu/home/johndoe/sshfs-path/

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

  1. E infine, per smontare ...

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


3

Installa sshfs

sudo apt-get install sshfs

Aggiungi a 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.