Cómo montar sistemas de ficheros remotos con SSHFS paso a paso

Última actualización: 17/12/2025
Autor: Isaac
  • SSHFS permite montar directorios remotos vía SSH/SFTP apoyándose en FUSE, sin necesidad de configurar servicios adicionales como NFS o Samba.
  • La instalación y uso de SSHFS es sencilla en GNU/Linux, macOS y Windows, siempre que exista un servidor SSH accesible y FUSE o equivalente en el cliente.
  • La autenticación por claves SSH y la integración con /etc/fstab facilitan montajes automáticos y sin contraseña, con opciones avanzadas como idmap, allow_other y reconnect.
  • SSHFS ofrece un acceso cifrado y flexible a sistemas remotos, aunque con un rendimiento inferior a NFS en redes locales y con precauciones de seguridad a tener en cuenta.

Montar sistemas de ficheros con SSHFS

Trabajar con archivos que residen en un servidor remoto como si estuvieran en tu propio ordenador es uno de esos pequeños lujos que, cuando los pruebas, ya no quieres perder. Para desarrollo, administración de sistemas o simplemente para tener tu “nube casera”, montar sistemas de ficheros remotos puede ahorrarte muchos quebraderos de cabeza.

SSHFS es precisamente la herramienta que hace esto posible de forma sencilla y segura: gracias a SSH y SFTP, puedes montar directorios remotos en tu máquina local y tratarlos como si fueran un disco más, sin tener que levantar servicios adicionales tipo NFS o Samba. En esta guía vamos a ver con detalle qué es SSHFS, cómo funciona, cómo instalarlo y configurarlo en GNU/Linux, macOS y Windows, y qué opciones tienes para automatizar y afinar su comportamiento.

Qué es SSHFS y por qué puede interesarte

SSHFS (Secure Shell FileSystem) es un sistema de ficheros basado en FUSE que permite montar directorios remotos usando SFTP, es decir, el subsistema de transferencia de archivos de SSH. Dicho de otro modo, toda la comunicación entre tu equipo y el servidor va cifrada, autenticada y encapsulada en la misma conexión SSH de siempre.

A diferencia de otros sistemas de ficheros en red como NFS o SAMBA/CIFS, SSHFS no exige configurar servicios extra en el servidor: basta con que el servidor tenga un demonio SSH funcionando y accesible. El propio cliente SSHFS se encarga, apoyándose en FUSE, de presentar ese recurso remoto como un punto de montaje más en tu sistema.

El uso de SSH y SFTP implica que todos los datos se cifran y descifran en tiempo real, tanto en el lado del servidor como en el del cliente. Esto tiene una cara buena y una mala: por un lado, obtienes confidencialidad e integridad; por otro lado, introduces cierta penalización de rendimiento respecto a opciones como NFS en redes locales de confianza.

FUSE (Filesystem in Userspace) es la pieza del kernel que permite a usuarios no privilegiados crear sistemas de ficheros “en espacio de usuario”, sin necesidad de modificar el kernel ni cargar módulos complejos. SSHFS se apoya en FUSE para enganchar el sistema de ficheros remoto y exponerlo en tu árbol de directorios local.

Sistema de archivos remoto SSHFS

Usos habituales de SSHFS: más allá de “copiar cuatro archivos”

Montar un sistema de ficheros remoto con SSHFS tiene infinidad de usos prácticos, muchos de ellos centrados en disponer de tus datos “de siempre” estés donde estés, con una experiencia muy similar a trabajar en local.

Uno de los usos más típicos es montar una nube personal: un servidor en casa o en un VPS remoto donde almacenas tus documentos, fotos o proyectos, y al que accedes desde tu portátil o sobremesa como si fuera otro disco del sistema, sin tener que pasar por servicios de terceros.

En redes locales SSHFS resulta muy útil para compartir datos entre equipos Linux: por ejemplo, acceder a carpetas de otro ordenador de la red, compartir el árbol de directorios de una máquina potente con otras más ligeras o conectar máquinas virtuales con el host sin quebraderos de cabeza.

Para desarrolladores es una herramienta muy cómoda para editar código directamente en servidores remotos (por ejemplo, servidores web o máquinas de pruebas) usando el editor local de confianza, sin necesidad de estar sincronizando manualmente con rsync, scp o similares.

También encaja muy bien como mecanismo sencillo de copia de seguridad: puedes montar la ruta remota y usar tus herramientas de backup habituales sobre ese punto de montaje, o al revés, montar un destino remoto para volcar tus copias desde el equipo local.

Requisitos previos: qué necesitas en cliente y servidor

Requisitos para usar SSHFS

La base de todo montaje SSHFS es tener un servidor SSH accesible y un cliente con soporte FUSE. A partir de ahí, el resto son detalles de configuración y comodidad de uso.

En el lado del servidor necesitas, como mínimo, tener instalado y en marcha el servicio OpenSSH. En la mayoría de distribuciones GNU/Linux modernas basta con asegurarte de que el paquete openssh-server está instalado y el servicio habilitado:

Instala el servidor SSH: sudo apt-get install openssh-server openssh-client

Usa yum en RHEL/CentOS: sudo yum install openssh-server openssh-clients

En el lado del cliente, además de OpenSSH, necesitas el paquete sshfs y FUSE. En Debian/Ubuntu, por ejemplo, el comando sería:

  Cómo usar strings para extraer texto oculto en binarios

Paquetes cliente: sudo apt-get install sshfs fuse

En sistemas Red Hat / CentOS puede que primero tengas que activar EPEL, ya que sshfs no siempre está en los repositorios base. Una vez habilitado:

Instala sshfs: sudo yum install sshfs
o en versiones modernas:
Instala con dnf: sudo dnf install sshfs

Comprobar y activar el módulo FUSE en GNU/Linux

Antes de empezar a montar nada conviene verificar que el módulo FUSE está disponible y activo en el kernel de tu máquina cliente, ya que SSHFS depende directamente de él.

Comprobar módulo FUSE: lsmod | grep fuse

Si ves una línea similar a “fuse 86016 3” significa que el módulo está cargado y puedes continuar. Si no aparece nada, hay dos posibilidades: o el módulo no se ha cargado aún, o FUSE está compilado directamente en el kernel (builtin).

Ver si está integrado en el kernel: grep -i fuse /lib/modules/$(uname -r)/modules.builtin

Si el comando devuelve algo tipo “kernel/fs/fuse/fuse.ko” puedes quedarte tranquilo, FUSE está disponible aunque no lo veas en lsmod. Si tampoco obtienes salida, entonces tendrás que cargarlo de forma explícita:

Cargar módulo: sudo modprobe fuse

Permisos de usuario y grupo FUSE

Como SSHFS se ejecuta en espacio de usuario, es habitual que tu usuario tenga que pertenecer al grupo fuse para evitar problemas de permisos a la hora de montar sistemas de ficheros.

En distribuciones Debian/Ubuntu puedes usar el paquete “members” para comprobar qué usuarios pertenecen a un grupo. Primero lo instalas:

Instala members: sudo apt-get install members

Después consultas los miembros del grupo fuse con:

Lista miembros del grupo: members fuse

Si tu usuario no aparece en la lista, tendrás que añadirlo. Por ejemplo, si te llamas joan:

Añadir usuario al grupo: sudo gpasswd -a joan fuse

Tras esto es recomendable cerrar sesión y volver a entrar para que los cambios de grupo se apliquen. Cuando hayas verificado que todo está correcto, si quieres puedes desinstalar el paquete members porque solo lo has usado como herramienta de comprobación puntual.

Instalar SSHFS en distintas plataformas

SSHFS está disponible no solo en GNU/Linux, sino también en macOS y en Windows mediante puertos y adaptaciones, así que puedes usarlo prácticamente en cualquier entorno de trabajo mixto.

En Debian, Ubuntu y Linux Mint la instalación se reduce a:

Actualizar e instalar (apt): sudo apt update
sudo apt install sshfs

En RHEL, CentOS y derivados, una vez tengas los repositorios necesarios activos, puedes ejecutar:

Actualizar e instalar (yum): sudo yum update
sudo yum install sshfs

En macOS, la forma más cómoda es tirar de Homebrew y FUSE para macOS. Los pasos típicos son:

Instalar Homebrew (si aún no lo tienes):
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Instalar FUSE para macOS:
brew cask install osxfuse

Instalar sshfs en macOS:
brew install sshfs

En Windows no existe SSHFS nativo en el sistema, pero puedes usar implementaciones como win-sshfs o SSHFS-Win, que se apoyan en componentes tipo WinFsp para exponer sistemas de ficheros FUSE como unidades de disco de Windows.

Montar un sistema de ficheros remoto con SSHFS (uso básico)

La sintaxis general del comando sshfs en GNU/Linux y macOS es sencilla y bastante intuitiva. El patrón habitual es el siguiente:

Sintaxis del comando: sshfs [usuario@]host:[directorio-remoto] punto-de-montaje [opciones]

Antes de nada debes crear en la máquina cliente el directorio donde montarás el sistema de ficheros remoto. Por ejemplo, si quieres montar la carpeta remota en ~/desktop:

Crear punto de montaje: mkdir -p /home/joan/desktop

Un ejemplo completo de montaje manual podría ser:

Ejemplo de montaje: sshfs joan@192.168.1.14:/home/joan /home/joan/desktop

En este comando “joan@192.168.1.14” identifica el usuario y la IP del servidor, :/home/joan es la ruta remota que quieres compartir, y /home/joan/desktop es el punto de montaje local donde aparecerá el contenido.

Si el servicio SSH escucha en otro puerto distinto al 22 tienes que indicarlo con -p. Por ejemplo, si el servidor usa el puerto 24:

Puerto personalizado: sshfs -p 24 joan@192.168.1.14:/home/joan /home/joan/desktop

Tras ejecutar el comando, lo habitual es que se te pida la contraseña del usuario remoto, salvo que ya tengas autenticación por clave configurada. Si todo va bien, en tu gestor de archivos aparecerá un nuevo volumen asociado al punto de montaje, y podrás navegar y editar los archivos igual que si fueran locales.

Opciones útiles de montaje con SSHFS

SSHFS acepta un buen número de opciones que afinan comportamiento, permisos y rendimiento. Algunas de las más prácticas en el día a día son las siguientes.

  Guía exhaustiva de comandos básicos y gestión avanzada de WSL 2 en Windows 11

Para controlar el mapeo de identificadores de usuario y grupo en el lado local puedes usar opciones como:

Forzar UID/GID: -o uid=$(id -u),gid=$(id -g)

Esto fuerza a que los ficheros remotos parezcan propiedad de tu usuario local, evitando conflictos de permisos cuando los IDs no coinciden entre cliente y servidor. Puedes combinarlo con opciones como idmap=user cuando uses /etc/fstab.

Para mejorar la resiliencia ante cortes de conexión se suele usar:

Reconexión automática: -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

Otras opciones frecuentes son auto_cache para gestionar mejor el caché de atributos, allow_other para que otros usuarios además de root puedan acceder al punto de montaje, y default_permissions para delegar el control de permisos en el kernel local.

Desmontar un sistema de ficheros SSHFS

Cuando ya no necesites el montaje es importante desmontarlo correctamente, sobre todo si has estado escribiendo datos, para asegurarte de que todo se ha enviado al servidor y no quedan operaciones pendientes.

Usar fusermount para desmontar: fusermount -u /home/joan/desktop

O bien con el comando clásico de montaje:

Desmontar con umount: sudo umount /home/joan/desktop

En muchos entornos de escritorio también puedes desmontar el volumen desde el propio explorador de archivos, haciendo clic derecho sobre el volumen montado y escogiendo la opción de “Desmontar” o “Expulsar”.

Autenticación por claves SSH para montar sin contraseña

Si vas a usar SSHFS de forma habitual, lo lógico es evitar tener que introducir la contraseña cada vez que montas. Para eso, lo mejor es configurar autenticación basada en claves SSH.

En el cliente generas un par de claves asimétricas con ssh-keygen (sin passphrase si quieres que el montaje automático no pida nada):

Generar clave: ssh-keygen -b 4096 -t rsa -C "$(whoami)@$(hostname)-$(date -I)"

-b 4096 indica el tamaño en bits de la clave, -t rsa define el algoritmo, y el parámetro -C añade un comentario identificativo a la clave (por ejemplo, usuario, máquina y fecha).

Cuando ssh-keygen te pregunte dónde guardar la clave, basta con pulsar Enter para usar la ruta por defecto (~/.ssh/id_rsa), y puedes dejar la passphrase vacía si quieres que el proceso de conexión sea completamente automático.

La clave pública generada (~/.ssh/id_rsa.pub) debe copiarse al servidor y añadirse al fichero ~/.ssh/authorized_keys del usuario remoto que vayas a usar con SSHFS.

Copiar y autorizar la clave pública en el servidor

Primero asegúrate de que en el servidor existe el fichero authorized_keys dentro de ~/.ssh. Puedes crearlo con:

Crear authorized_keys si falta: touch ~/.ssh/authorized_keys

En el cliente copias la clave pública al servidor usando scp o ssh-copy-id. Por ejemplo, con scp:

Copiar clave pública al servidor: scp ~/.ssh/id_rsa.pub joan@192.168.1.14:~/.ssh

Una vez en el servidor, añades el contenido de id_rsa.pub al archivo authorized_keys para autorizar esa clave:

Añadir clave a authorized_keys: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Tras esto, si las propiedades y permisos de ~/.ssh y authorized_keys son correctos, podrás conectarte desde el cliente a ese servidor sin introducir contraseña, y por extensión, montar con SSHFS de forma automática usando la opción IdentityFile.

Montar sistemas de ficheros SSHFS automáticamente con /etc/fstab

Si quieres que el sistema de ficheros remoto se monte sin tu intervención cada vez que arranca el equipo, puedes usar el archivo /etc/fstab para definir el montaje SSHFS.

En la máquina cliente editas el fichero /etc/fstab con privilegios de administrador:

Editar fstab: sudo nano /etc/fstab

Un ejemplo de línea de montaje típica con SSHFS sería:

Ejemplo fstab completo: joan@192.168.1.14:/home/joan /home/joan/desktop fuse.sshfs defaults,idmap=user,_netdev,users,IdentityFile=/home/joan/.ssh/id_rsa,allow_other,reconnect 0 0

En esta línea especificas el recurso remoto, el punto de montaje local y el tipo de sistema de ficheros (fuse.sshfs), seguido de un conjunto de opciones:

defaults: aplica las opciones típicas de montaje (lectura/escritura, exec, etc.).
idmap=user: fuerza a que el dueño aparente de los archivos sea tu usuario local.
_netdev: indica que el sistema depende de la red, lo que ayuda a systemd a gestionar el orden de arranque.
users: permite que cualquier usuario pueda montar/desmontar el recurso.
IdentityFile: ruta de la clave privada para conectar sin contraseña.
allow_other: da acceso a otros usuarios distintos del que monta (requiere configuración de FUSE).
reconnect: reintenta la conexión si esta se cae.

En distribuciones con systemd puede ser interesante usar la opción noauto combinada con x-systemd.automount, de forma que el montaje se active al primer acceso:

Ejemplo fstab con automount: joan@192.168.1.14:/home/joan /home/joan/desktop fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/joan/.ssh/id_rsa,allow_other,reconnect 0 0

Ten en cuenta que un error de sintaxis o una opción mal puesta en fstab puede impedir que el sistema arranque con normalidad, así que conviene hacer copia de seguridad de /etc/fstab antes de tocarlo y tener un LiveUSB a mano por si tienes que corregirlo offline.

  Las mejores alternativas a OneNote en Linux

Configurar FUSE para usar allow_other

La opción allow_other, muy útil para compartir el punto de montaje con otros usuarios, no funciona si no la habilitas explícitamente en la configuración de FUSE.

En la mayoría de distribuciones basta con editar /etc/fuse.conf como root:

Editar fuse.conf: sudo nano /etc/fuse.conf

Dentro del archivo busca la línea que contiene “#user_allow_other” y descoméntala, dejándola así:

user_allow_other

Guarda los cambios y cierra el editor. A partir de ese momento podrás usar la opción allow_other en tus montajes SSHFS y en /etc/fstab sin que se rechace por configuración.

Uso de SSHFS en Windows: win-sshfs y SSHFS-Win Manager

En Windows, el uso de SSHFS pasa por herramientas de terceros que integran FUSE con el sistema de ficheros del propio sistema operativo. Las dos aproximaciones más habituales son win-sshfs y el combo SSHFS-Win + WinFsp, a menudo gestionado con una interfaz gráfica cómoda.

win-sshfs fue durante tiempo una de las opciones más sencillas: se descarga un instalador que incluye todo lo necesario para montar un directorio remoto vía SSH como si fuera una unidad de Windows. Una vez instalado, bastaba con abrir la aplicación, crear una nueva entrada, rellenar host, puerto, usuario, contraseña, ruta remota y letra de unidad, y pulsar en Mount.

Una alternativa más moderna es SSHFS-Win junto con WinFsp y, para rematar, SSHFS-Win Manager como interfaz gráfica. WinFsp actúa como capa que permite a Windows hablar con sistemas de ficheros FUSE, SSHFS-Win aporta el soporte de SSHFS como tal, y SSHFS-Win Manager te ofrece una GUI para crear y gestionar montajes sin tocar la línea de comandos.

El flujo típico con SSHFS-Win Manager es muy parecido a cómo lo haría un usuario gráfico en Linux: añades una nueva conexión, escribes la IP o dominio del servidor, el puerto SSH (normalmente 22), tu usuario y contraseña o clave, eliges la ruta remota (/, /var/www, ~/… según te interese) y asignas una letra de unidad para que aparezca en “Este equipo”.

Una vez montado, el directorio remoto se ve en el Explorador de archivos de Windows como una unidad más, y puedes arrastrar y soltar archivos, renombrar, editar y borrar casi como si estuvieras trabajando en un disco duro local.

Buenas prácticas, rendimiento y seguridad con SSHFS

SSHFS es muy cómodo, pero conviene tener claras sus limitaciones y algunas recomendaciones de seguridad, sobre todo si vas a montar directorios con datos sensibles o vas a trabajar a través de Internet.

En cuanto a rendimiento, el cifrado y la latencia de red marcan la diferencia: en redes locales rápidas, con servidores relativamente potentes, el rendimiento será razonablemente bueno, aunque por debajo de NFS en la mayoría de escenarios. A través de Internet, la latencia puede notarse bastante en operaciones con muchos archivos pequeños.

Por seguridad, montar directorios remotos en producción con fstab y montajes permanentes no siempre es buena idea, ya que un compromiso del cliente podría abrir una puerta directa al servidor. Para entornos críticos es preferible limitar el acceso, usar usuarios enjaulados (chroot) o sistemas de permisos muy acotados.

También es importante revisar la configuración del cortafuegos (firewall) y del router cuando accedes desde fuera de tu red local. Tendrás que redirigir el puerto SSH hacia la máquina que hace de servidor de archivos, y asegurarte de que solo está accesible desde orígenes controlados o que al menos uses medidas de endurecimiento como fail2ban, claves robustas y deshabilitar el login por contraseña.

Por último, si montas directorios del usuario root o rutas muy sensibles, extrema las precauciones: lo habitual es trabajar con un usuario sin privilegios elevados y delegar las operaciones delicadas en sudo en el propio servidor, en lugar de abrir de par en par la raíz del sistema remoto.

SSHFS se convierte en una herramienta tremendamente versátil para administrar, desarrollar y compartir datos en servidores remotos, especialmente cuando ya tienes un servicio SSH operativo y quieres evitar lidiar con configuraciones adicionales de NFS o Samba. Usado con cabeza, claves bien gestionadas y las opciones adecuadas de FUSE y fstab, te permite tener tus sistemas remotos “a mano” como si fueran una carpeta más de tu equipo, sin perder de vista la seguridad ni la estabilidad.