Cómo montar un directorio de otra máquina que tenga un servidor de SSH utilizando el paquete sshfs

Se puede obtener una funcionalidad similar a NFS pero con algunas ventajas.

  • No necesitas nada especial en el servidor, sólo el omnipresente servidor de SSH. Ni portmap ni nada por el estilo, como ocurre con NFS
  • Todas las comunicaciones van cifradas, es más seguro y fácil de administrar.

Obviamente es sensiblemente más lento.

Ingredientes para el servidor

Únicamente el servidor SSH convencional.

Ingredientes para el cliente

En el cliente (el que monta el directorio remoto) debes instalar el paquete sshfs, que depende de fuse, pero que usando apt-get no es ningún problema.

# apt-get install sshfs

Instalar fuse (si no lo tienes)

Después hay que instalar el driver de fuse, que permite tener sistemas de ficheros en espacio de usuario. Para ello se instala los fuentes de fuse y se compilan con el maravilloso module-assistant.

# apt-get install linux-headers-$(uname -r)
# m-a a-i fuse

Tienes que cargar el módulo:

# modprobe fuse

Y asegurarte que se carga cuando reinicies:

# echo fuse >> /etc/modules

A montar…

Ya puedes montar cualquier directorio del servidor al que tengas acceso:

# sshfs usuario@servidor.net:/ruta/en/servidor /ruta/en/cliente

también puedes hacer lo mismo con mount, así:

# mount -t fuse sshfs#usuario@servidor.net:/ruta/en/servidor /ruta/en/cliente

Y lo puedes añadir a /etc/fstab:

sshfs#servidor.net:/ruta/en/servidor    /ruta/en/cliente    fuse    defaults    0  0

Montar como usuario “raso”

Hay dos formas de conseguirlo:

  • Añadir el flag “user” a la entrada en fstab y usar mount/umont como de costumbre
  • Añadir el usuario al grupo fuse y usar el comando sshfs. Eso lo puedes hacer con:
# addgroup pepe fuse

Desmontar

Si eres root:

# umount /ruta/en/cliente

Como usuario normal:

# fusermount -u /ruta/en/cliente

Qué rollo de claves!

Si no quieres tener que poner la clave de tu cuenta en la máquina remota cada vez que montas, puedes utilizar el esquema de autenticación por clave privada que tiene SSH.

Referencias



blog comments powered by Disqus