Secure Shell File System (SSHFS) es un sistema de ficheros basado en el protocolo Secure Shell (SSH) y el módulo del núcleo Linux, Filesystem In Userspace (FUSE). Permite montar directorios remotos, situados en máquinas con las que se puede contactar mediante SSH.
Esta nueva forma de compartir ficheros destaca sobre las clásicas como SAMBA o NFS por su sencillez de instalación y configuración. Además permite al usuario montar directorios remotos sin necesidad de permisos especiales para hacerlo, ni entradas definidas en FSTAB.
Otra de las virtudes a destacar de este sistema es la seguridad, puesto que se apoya en SSH, que generalmente utiliza comunicación encriptada entre pares, basada en algoritmos de clave pública.
Instalación
Para la explicación de la instalación de SSHFS me referiré acciones generales que el usuario debe realizar, apoyadas con comandos de mi distribución de GNU/Linux (ArchLinux). Se asume que se tienen permisos de administrador del sistema, bien por acceso mediante usuario root o bien mediante el comando sudo. Se puede encontrar una guía de instalación sencilla para distribuciones basadas en Debian en este enlace.
Paso 1: Instalación de SSHFS
Lo primero que se debe hacer es instalar el paquete SSHFS. La mayoría de las distribuciones pueden usar un gestor de paquetes para realizar esta tarea. También se puede optar por desgargar el código de la página oficial. En el caso de ArchLinux se utiliza el gestor de paquetes pacman:
pacman -S sshfs
Paso 2: Añadir módulo FUSE al arranque
Como se ha mencionado al principio, SSHFS funciona sobre FUSE, por lo que habrá que cargarlo durante la secuencia de arranque. En todas las distribuciones GNU/Linux, existe un fichero que contiene los módulos a cargar en la secuencia de arranque, en muchas distribuciones este fichero es /etc/modules (bastaría con añadir fuse al final del fichero). En ArchLinux la lista de módulos se encuentra en /etc/rc.conf, cuyo apartado de módulos debería quedar de forma similar a:
MODULES=(e100 eepro100 ipw2200....fuse)
También se puede cargar manualmente para la sesión actual con: (válido en la mayoría de distribuciones)
modprobe fuse
Paso 3: Añadir usuarios al grupo FUSE
Para que cualquier usuario de un sistema pueda manejar el módulo FUSE del núcleo, es necesario que dicho usuario se añada al grupo fuse:
gpasswd -a usuario fuse
Utilización
Supongamos que queremos montar un directorio (/home/user1/dir) remoto desde una máquina remota B en un directorio (/home/user2/dir) de una máquina local A. Además supongamos que el demonio SSH de la máquina B está situado en el puerto 1479 (normalmente está situado en el puerto 22, pero es una política de seguridad habitual situarlo en otro puerto). El montaje en este caso, se realizaría de la siguiente forma:
sshfs user1@B:/home/user1/dir /home/user2/dir -p 1479
De forma general sería:
sshfs usuario@máquina:ruta_remota ruta_local -p puerto
Una vez montado el directorio remoto, se puede utilizar de forma transparente como si fuese un directorio de la máquina local. Pero hay que tener en cuenta que el directorio montado no es una copia, sino el mismo directorio que existe en la máquina remota. Cualquier cambio realizado será aplicado inmediatamente sobre el sistema de ficheros de la máquina remota.
Para desmontar el directorio montado anteriormente, se hace uso de FUSE
fusermount -u /home/user2/dir
que de forma general quedaría así:
fusermount -u ruta_local
[...] Julio 14, 2008 in UncategorizedTags: Tutoriales, Ubuntu/Linux Post completo: HilosEnLaRed [...]
Por: SSHFS « Un Bioinformatiquillo el Julio 14, 2008
a las 12:06 pm
Una preguntilla. Pq se puede caer continuamente el sshfs estando montado correctamente sin cortes de linea, apagados o cosas por el estilo. O donde se puede mirar el problema?
Gracias y un saludo
Por: Francisco el Julio 21, 2008
a las 8:09 am
Creo que lo primero que deberías hacer es mirar si el problema está en el servidor (si tienes acceso) o en el cliente. Puedes hacerlo mediante los logs de error. He estado leyendo y he encontrado dos problemas comunes.
1. Problemas con la configuración del servidor. http://bbs.archlinux.org/viewtopic.php?id=27613
2. Problemas con el módulo fuse del kernel.
http://osdir.com/ml/file-systems.fuse.sshfs/2006-11/msg00007.html
Ambos problemas han sido resueltos, espero que te sean de ayuda.
Por: Rafa el Julio 21, 2008
a las 8:27 am
Gracias por la pronta respuesta, no obstante no es problema de kernel ni de permisos entre clientes y servidor, dado q el problema ocurre cada tanto, sin tiempo definido o acción concreta, se monta correctamente y funciona hasta q de buenas a primeras cae. Lo mismo 1 día q 1 semana, no tiene patrón fijo.
De todas formas si encuentro el error, q espero q si, lo postearé aquí.
Gracias.
Por: Francisco el Julio 21, 2008
a las 9:33 am