Montar directorio remoto usando SSH

69

¿Cómo montar un directorio remoto usando SSHpara estar disponible igual que si fuera un directorio local?

Maythux
fuente

Respuestas:

78

Primero instale el módulo:

sudo apt-get install sshfs

Cargarlo en el kernel:

sudo modprobe fuse

Configuración de permisos (versiones de Ubuntu <16.04):

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

Ahora crearemos un directorio para montar la carpeta remota.

Elegí crearlo en mi directorio de inicio y llamarlo remoteDir.

mkdir ~/remoteDir

Ahora ejecuté el comando para montarlo (montar en casa):

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

Ahora se debe montar:

cd ~/remoteDir
ls -l
Maythux
fuente
Estoy un poco confundido ... en el sshfscomando, creo que se nombra el directorio local de Mountpoint remoteDir, y cuando estoy en el servidor ssh, hay un directorio /home/maythuxServ/Mountedque no está montado localmente, y no puedo decirlo, o cuidado, si está montado en otro lugar?
Volker Siegel el
3
Me salteé algunos de estos pasos en 14.04 cuando utilicé la siguiente guía: help.ubuntu.com/community/SSHFS
Hemm
44
No se necesita grupo de fusibles (Ubuntu 16.04, noviembre de 2017): stackoverflow.com/questions/35635631/ubuntu-15-10-no-fuse-group
Matt Kleinsmith
2
El 18.04, me salté el segundo bloque completo - estableciendo permisos y funciona bien.
optimista
3
La mitad de esta respuesta no funciona o está desactualizada. Por favor considere actualizar.
Luís de Sousa
18

Configurar autenticación basada en clave ssh

Generar par de claves en el host local.

$ ssh-keygen -t rsa

Acepte todas las sugerencias con la tecla Intro.

Copie la clave pública al host remoto:

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

Instalar sshfs

$ sudo apt install sshfs

Montar directorio remoto

$ sshfs user@host:/remote_directory /local_directory

No intente agregar fs remotos a / etc / fstab

O no intente montar recursos compartidos a través de /etc/rc.local.

En ambos casos no funcionará ya que la red no está disponible cuando init lee / etc / fstab.

Instalar AutoFS

$ sudo apt install autofs

Editar /etc/auto.master

Comente las siguientes líneas

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

Agregar una nueva línea

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

Guardar y Salir

Editar /etc/auto.sshfs

Agregar una nueva línea

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

El nombre de usuario remoto es obligatorio.

Guardar y Salir

Iniciar autofs en modo de depuración

$ sudo service autofs stop
$ sudo automount -vf

Observar los registros del servidor ssh remoto

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

Verifique el contenido del directorio local

Debería ver el contenido del directorio remoto

Iniciar autofs en modo normal

Deje de ejecutar AutoFS en modo de depuración con CTRL-C.

Inicie AutoFS en modo normal

$ sudo service autofs start

Disfrutar

(Probado en Ubuntu 14.04)

Wojciech Domalewski
fuente
5

Basado en mis experimentos, NO es necesario crear explícitamente el grupo de fusibles y agregarle su usuario para montar el sistema de archivos ssh.

Para resumir, aquí están los pasos copiados de esta página:

  1. Instalar en pc sshfs

$ sudo apt-get install sshfs

2.Cree el punto de montaje local

$ mkdir /home/johndoe/sshfs-path/

3.Montar carpeta remota /remote/pathpara/home/johndoe/sshfs-path/

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

  1. Y finalmente, para desmontar ...

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

Prathu Baronia
fuente
3

Instalar sshfs

sudo apt-get install sshfs

Añadir 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
Sergei
fuente