Montar una partición remota con sshfs es una forma muy práctica y segura de acceder a archivos de otro equipo a través de SSH. La idea es simple: con sshfs puedes hacer que un directorio de un servidor remoto aparezca como una unidad más en tu propia computadora, y vas a poder manejarlo con el explorador de archivos o desde la terminal como si fuera local.

Aquí te explico cómo hacerlo paso a paso:

1. Instalar SSHFS

Primero, necesitas tener el paquete sshfs instalado en tu computadora local (la que usas para montar). El comando depende de tu distribución de Linux:

  • En Ubuntu/Debian y derivados:
    sudo apt install sshfs
    
  • En Red Hat, Fedora, CentOS y derivados:
    sudo yum install fuse-sshfs
    

Nota importante sobre permisos: Si quieres que otros usuarios (que no sean root) puedan usar la opción -o allow_other, debes asegurarte de que la línea user_allow_other en el archivo /etc/fuse.conf no esté comentada.

2. Crear un punto de montaje local

Necesitas una carpeta vacía en tu sistema local que servirá como el “punto de entrada” a la partición remota. Puedes crearla donde prefieras, por ejemplo, en tu directorio home o en /mnt.

mkdir -p ~/carpeta_remota

3. Montar el sistema de archivos remoto

La sintaxis básica del comando es la siguiente:

sshfs [usuario]@[servidor]:[ruta_remota] [punto_de_montaje_local] [opciones]
  • [usuario]@[servidor]: Tus credenciales de acceso SSH al servidor remoto.
  • [ruta_remota]: La ruta absoluta de la carpeta o partición en el servidor que quieres montar. Si la omites, se montará tu directorio home remoto.
  • [punto_de_montaje_local]: La carpeta que acabas de crear.

Ejemplo básico:

sshfs usuario@192.168.1.100:/home/usuario/datos ~/carpeta_remota

Al ejecutar esto, se te pedirá la contraseña SSH del usuario remoto.

Opciones comunes y útiles

Puedes añadir opciones con -o para un mejor control. Aquí algunas de las más usadas:

  • -o allow_other: Permite que otros usuarios del sistema local accedan a los archivos montados.
  • -o default_permissions: Habilita la comprobación de permisos local. Sin esta opción, sshfs ignora los permisos del sistema de archivos local y cualquier usuario que pueda acceder al punto de montaje podrá realizar operaciones según los permisos del servidor remoto.
  • -o IdentityFile=/ruta/a/tu/clave: Especifica la ruta a tu clave privada SSH si no usas contraseña.
  • -p [puerto]: Especifica un puerto SSH diferente al 22.
  • -C: Habilita la compresión de datos durante la transferencia, lo que puede mejorar el rendimiento en conexiones lentas.

Ejemplo con varias opciones:

sshfs -o allow_other,default_permissions,IdentityFile=~/.ssh/id_rsa usuario@servidor:/ruta/remota ~/carpeta_remota

4. Desmontar el sistema de archivos

Cuando hayas terminado de trabajar, es importante desmontar la unidad de forma segura para evitar pérdida de datos:

fusermount -u ~/carpeta_remota

5. Montaje automático al iniciar (Opcional)

Para que el montaje se realice de forma automática cada vez que inicies tu sistema, puedes añadir una entrada al archivo /etc/fstab. Asegúrate de que el punto de montaje exista y que tengas configurada la autenticación sin contraseña (usando claves SSH).

Añade una línea como esta a /etc/fstab:

usuario@servidor:/ruta/remota /ruta/local/montaje fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/ruta/a/tu/clave,allow_other,default_permissions 0 0

[0†L30]

Solución de problemas comunes

  • “Connection refused” o “Host key verification failed”: Asegúrate de que el servidor remoto está encendido, que el servicio SSH está corriendo y que has aceptado su clave SSH previamente (con ssh usuario@servidor).
  • Permiso denegado: Verifica que el usuario remoto tenga permisos para acceder a la ruta que intentas montar.
  • Problemas de permisos locales: Si ves errores de permisos al abrir archivos, prueba a montar con las opciones -o allow_other,default_permissions.

Espero que esta guía te sea de ayuda.