- SSHFS permite montar sistemas de archivos remotos usando SSH y SFTP, sin configuraciones complejas en el servidor.
- Su instalación es sencilla en Linux, macOS y Windows, aunque el rendimiento suele ser inferior a NFS en redes locales.
- Se puede montar manualmente o de forma automática con fstab y claves SSH, mejorando la comodidad y la seguridad.
- Existen herramientas gráficas como Win-SSHFS o SSHFS-Win Manager que facilitan su uso en Windows sin usar la terminal.

Cuando trabajas con servidores, máquinas virtuales o una Raspberry Pi en casa, es bastante habitual que necesites acceder a ficheros remotos como si estuvieran en tu propio ordenador. Puedes tirar de SCP, SFTP o clientes gráficos, pero si tienes que editar muchos archivos o mover grandes directorios, se vuelve un auténtico incordio.
Ahí es donde entra en juego SSHFS, un sistema de archivos que se monta sobre SSH y que te permite navegar, editar y copiar archivos remotos como si fueran locales, con la misma seguridad que ofrece una conexión SSH y sin montar un servidor NFS o Samba completo en el otro lado.
Qué es SSHFS y cómo funciona
SSHFS (Secure Shell FileSystem) es un cliente que se apoya en FUSE (Filesystem in Userspace) para montar un sistema de archivos remoto a través de una conexión SSH. En lugar de inventarse un protocolo nuevo, utiliza SFTP, que es una versión segura de FTP que viaja cifrada dentro del túnel SSH.
Desde el punto de vista práctico, SSHFS te deja montar un directorio remoto en una ruta local (por ejemplo, /mnt/servidor o /home/usuario/remoto) y trabajar ahí como si fuese un disco más: copiar y pegar archivos, abrirlos con tu editor favorito, reproducir contenidos, etc. Todo lo que hagas en ese punto de montaje se ejecuta en realidad en el servidor remoto.
Si lo comparamos con sistemas como NFS o Samba/CIFS, la gran ventaja es que no hace falta montar un servicio adicional en el servidor: si ya tienes SSH funcionando, tienes prácticamente todo lo necesario para usar SSHFS, sin tocar apenas la configuración del lado remoto.
La otra cara de la moneda es que todo el tráfico viaja cifrado mediante SSH y SFTP, lo que implica más carga de CPU en cliente y servidor y, normalmente, un rendimiento inferior al de NFS en redes locales, sobre todo en transferencias muy grandes o muy intensivas.
Resumiendo, SSHFS brilla cuando necesitas acceso remoto seguro, cómodo y sin dolores de cabeza de configuración, pero si buscas el máximo rendimiento en una red local controlada, NFS suele ser mejor opción.
Usos habituales de SSHFS: cuándo merece la pena
Más allá de la teoría, SSHFS es una navaja suiza para trabajar con datos remotos. Algunos usos muy habituales, sacados directamente de la práctica del día a día, son los siguientes:
- Nube personal segura: montar el directorio home o una carpeta concreta de tu servidor como si fuera un disco externo, y guardar ahí documentos importantes.
- Acceso a otros equipos de la red local: si tienes varios ordenadores Linux en casa o en la oficina, puedes compartir directorios fácilmente sin montar Samba ni NFS.
- Integración con máquinas virtuales: compartir datos entre tu sistema anfitrión y varias VMs sin configurar carpetas compartidas específicas de cada hipervisor.
- Administrar un servidor web o de aplicaciones: editar directamente archivos de configuración, código web o logs en el servidor remoto desde tu editor favorito en el equipo local.
- Carpetas compartidas entre varios ordenadores: usar un servidor como almacenamiento central y montarlo con SSHFS desde diferentes máquinas.
- Copias de seguridad remotas sencillas: montar el servidor de backup vía SSHFS, lanzar tu herramienta de copias y, al terminar, desmontar. Nada de scripts raros de transferencia.
En todos estos casos, la clave es que trabajas con la carpeta remota “como si” estuviera en tu equipo, lo que simplifica muchísimo flujos de trabajo en los que antes tenías que descargar, modificar y volver a subir una y otra vez.
Requisitos previos para usar SSHFS

Para montar un sistema de archivos remoto con SSHFS necesitas, como mínimo, dos equipos con sistema tipo UNIX o compatibles: uno hará de cliente (desde el que te conectas) y otro de servidor (el que tiene los datos). Lo más habitual es usar distribuciones GNU/Linux como Debian, Ubuntu, Linux Mint, CentOS o RHEL, pero también funciona en BSD y macOS, y hay soluciones para Windows.
En ambos equipos debes tener instalado y funcionando OpenSSH. En Debian/Ubuntu y derivadas, puedes hacerlo con:
sudo apt-get install openssh-server openssh-client
En el ordenador cliente necesitas, además, los paquetes sshfs y fuse. En Debian/Ubuntu, por ejemplo:
sudo apt-get install sshfs fuse
En distribuciones como RHEL o CentOS, SSHFS suele estar disponible en los repositorios estándar o en EPEL, de forma que la instalación es muy sencilla mediante el gestor de paquetes (yum, dnf, etc.). En la mayoría de distros modernas basta con buscar el paquete sshfs.
En sistemas BSD y macOS, también existe soporte para SSHFS, normalmente apoyándose en sus propias versiones de FUSE. En macOS, por ejemplo, se suele utilizar macFUSE (antiguo osxfuse) más el paquete sshfs instalado vía Homebrew.
Por último, en Windows no existe soporte nativo de FUSE, pero hay implementaciones que lo resuelven, como WinFsp combinado con SSHFS-Win o herramientas tipo win-sshfs y su evolución moderna SSHFS-Win Manager.
Comprobar y activar el módulo FUSE en Linux
En Linux, SSHFS se apoya en el módulo del kernel FUSE. La mayoría de distribuciones modernas lo traen ya activado, pero conviene comprobarlo porque si FUSE no está disponible, no podrás montar el sistema de archivos.
Para ver si el módulo está cargado, ejecuta:
lsmod | grep fuse
Si el comando muestra algo tipo fuse 86016 3 (los números pueden variar), FUSE está activo y funcionando, así que puedes seguir tranquilamente con el montaje.
Si no aparece nada, hay dos posibilidades: que el módulo FUSE esté compilado directamente en el kernel o que, simplemente, no esté cargado. Para ver si está integrado en el kernel, puedes usar:
grep -i fuse /lib/modules/$(uname -r)/modules.builtin
Si obtienes algo tipo kernel/fs/fuse/fuse.ko, significa que FUSE forma parte del propio kernel y no hace falta cargarlo como módulo independiente.
En cambio, si tampoco sale nada, lo normal es que FUSE esté disponible como módulo pero sin cargar. En ese caso, puedes activarlo con:
sudo modprobe fuse
Tras esto, FUSE quedará cargado en el kernel y SSHFS ya tendrá las piezas necesarias para funcionar.
Añadir tu usuario al grupo fuse (Linux)
Por defecto, en muchas distros solo root o los usuarios del grupo fuse pueden montar sistemas de archivos FUSE. Si quieres que un usuario “normal” pueda usar SSHFS sin tirar siempre de sudo, tendrás que verificar que forma parte de ese grupo.
Una opción es instalar el paquete members para ver de forma sencilla quién pertenece a cada grupo:
sudo apt-get install members
members fuse
Si en la salida no aparece tu usuario, tendrás que añadirlo manualmente al grupo fuse. Por ejemplo, si el usuario se llama joan:
sudo gpasswd -a joan fuse
Después de ejecutar esto, conviene cerrar sesión y volver a entrar para que los cambios de grupo surtan efecto. A partir de ahí, tu usuario podrá montar sistemas de archivos SSHFS respetando las políticas de FUSE configuradas en el sistema.
Crear el punto de montaje para SSHFS
Antes de poder montar nada, hay que tener un directorio vacío que actuará como punto de montaje. Es similar a lo que se hace con NFS, discos externos y otros sistemas de archivos.
En el cliente, crea la carpeta que utilizarás. Por ejemplo, en el home de tu usuario:
mkdir -p /home/joan/desktop
A partir de ese momento, todo lo que “veas” dentro de /home/joan/desktop será en realidad el contenido del servidor remoto, en cuanto montes la carpeta con SSHFS.
Montar un sistema de archivos remoto con SSHFS (modo manual)
La forma básica de montar un directorio remoto con SSHFS en Linux es muy directa. Desde el cliente, basta con ejecutar algo parecido a esto:
sshfs usuario@IP_o_dominio:/ruta/remota /ruta/local
Usando el ejemplo que aparece en varios tutoriales, podríamos montar el directorio home del usuario remoto joan en la carpeta local /home/joan/desktop así:
sshfs joan@192.168.1.14:/home/joan /home/joan/desktop
En este comando, la parte joan@192.168.1.14 indica el usuario y la IP del servidor, :/home/joan es la ruta del directorio remoto que quieres montar, y /home/joan/desktop es el punto de montaje local.
Después de ejecutarlo, el sistema te pedirá la contraseña del usuario remoto, salvo que ya tengas configuradas claves SSH sin password. Una vez autenticado, podrás abrir tu gestor de archivos y verás un nuevo volumen equivalente a esa carpeta remota. Desde ahí podrás navegar, copiar, borrar o editar como si se tratara de un directorio local.
Si tu usuario no coincide en ambos equipos o quieres ajustar permisos, SSHFS acepta opciones extra. Por ejemplo, para mapear los IDs de usuario puedes usar la opción idmap=user para que los ficheros remotos aparezcan como propiedad de tu usuario local.
Montaje SSHFS en Ubuntu/Debian y macOS con opciones avanzadas
Tanto en Ubuntu/Debian como en macOS, puedes usar SSHFS con opciones para afinar permisos y comportamiento. Un ejemplo típico, con permisos para otros usuarios y uso de clave SSH, sería:
sudo sshfs -o allow_other,default_permissions,IdentityFile=~/.ssh/id_rsa \
root@xxx.xxx.xxx.xxx:/ /mnt/leadergpuserver
Aquí, las opciones más importantes son:
- allow_other: permite que usuarios distintos al que monta el sistema accedan al contenido.
- default_permissions: hace que el kernel aplique los permisos estándar de Unix sobre el sistema de archivos.
- IdentityFile=~/.ssh/id_rsa: indica qué clave privada usar para autenticarse en el servidor, evitando escribir contraseñas.
En macOS, el procedimiento es análogo, con la diferencia de que antes tendrás que instalar macFUSE y sshfs vía Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install --cask macfuse
brew install sshfs
Una vez instalado todo, puedes usar sshfs desde la terminal igual que en Linux, adaptando las rutas locales a tu entorno macOS.
Montaje de SSHFS en Windows: win-sshfs y SSHFS-Win Manager
En Windows no existe soporte nativo para FUSE, pero hay soluciones muy pulidas que permiten montar directorios remotos por SSH como unidades de Windows. A grandes rasgos, hay dos enfoques principales:
- win-sshfs o soluciones heredadas similares, que montan sistemas de archivos remotos como unidades en el explorador.
- SSHFS-Win + WinFsp combinado con SSHFS-Win Manager, que aporta una interfaz gráfica muy cómoda.
Con la herramienta clásica win-sshfs (o equivalentes actuales), el flujo suele ser:
- Abrir el programa y pulsar en Add.
- Rellenar campos como Drive Name, Host (IP o dominio), SSH port, Username y Password.
- Elegir el Directory remoto que quieres montar, por ejemplo
/,/var/wwwo~/para el home. - Seleccionar una letra de unidad de Windows para ese montaje.
- Pulsar Mount y listo, aparecerá la nueva unidad en «Este equipo».
SSHFS-Win Manager es un paso más allá en comodidad. Se trata de una interfaz gráfica para SSHFS-Win en Windows, que permite gestionar conexiones SSHFS sin tocar apenas la línea de comandos.
Para poder usarlo necesitas primero instalar WinFsp (que proporciona la capa tipo FUSE en Windows) y SSHFS-Win. Con eso, SSHFS-Win Manager se apoya en ellos para ofrecer una ventana sencilla desde la que crear, montar y desmontar conexiones SSHFS. Ideal si no te apetece pelearte con opciones de consola.
Desmontar un sistema de archivos SSHFS
Cuando termines de trabajar con el sistema remoto, es recomendable desmontar la unidad SSHFS para evitar bloqueos o accesos accidentales. En Linux, puedes hacerlo de varias formas:
fusermount -u /home/joan/desktop
También puedes usar el comando clásico de desmontaje:
umount /home/joan/desktop
En algunos escritorios gráficos, puedes desmontar el volumen SSHFS desde el propio gestor de archivos: seleccionas la unidad montada, botón derecho y eliges la opción de «Desmontar» o «Desmontar volumen».
En Windows, tanto con win-sshfs como con SSHFS-Win Manager, las unidades se desmontan desde la propia herramienta (normalmente con un botón «Unmount») o, en algunos casos, como si fuera una unidad de red convencional.
Configurar acceso sin contraseña con claves SSH
Montar con SSHFS está muy bien, pero si cada vez que arrancas el equipo o montas la carpeta te pide contraseña, al final cansa. Lo ideal es configurar claves SSH sin passphrase (o gestionadas con ssh-agent) para que el montaje pueda automatizarse.
En el cliente, genera un par de claves RSA robustas, por ejemplo de 4096 bits:
ssh-keygen -b 4096 -t rsa -C "$(whoami)@$(hostname)-$(date -I)"
Este comando creará una clave privada y su correspondiente clave pública, normalmente en ~/.ssh/id_rsa y ~/.ssh/id_rsa.pub, si aceptas los valores por defecto pulsando Enter cuando te lo pregunte.
Para usar estas claves sin que SSH pida contraseña, puedes dejar en blanco la passphrase. Eso implica que la clave privada se almacena sin cifrar en disco, por lo que conviene proteger el equipo (por ejemplo, cifrando el disco completo). Alternativamente, puedes usar una passphrase y gestionar el desbloqueo de claves con ssh-agent.
En el servidor, crea el fichero que almacenará las claves permitidas de los clientes (si aún no existe):
touch ~/.ssh/authorized_keys
Luego, desde el cliente, copia tu clave pública al servidor usando scp o el comando ssh-copy-id. Con scp sería algo como:
scp ~/.ssh/id_rsa.pub joan@192.168.1.14:~/.ssh
Una vez que la clave pública está en el servidor, solo falta añadirla al archivo authorized_keys:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Después de esto, el usuario cliente debería poder conectarse al servidor SSH sin necesidad de contraseña (o gestionando la clave con ssh-agent), lo que hará posible montar SSHFS de forma automatizada, incluso desde ficheros como /etc/fstab.
Montar SSHFS automáticamente con /etc/fstab
Si quieres que tu sistema de archivos remoto se monte de forma más cómoda, por ejemplo al hacer un mount sobre el punto de montaje o incluso al arrancar el equipo, puedes usar /etc/fstab. Eso sí, es fundamental tener bien configuradas las claves SSH sin pedir contraseña, porque fstab no está pensado para que metas la password cada vez.
En el cliente, edita el archivo de configuración:
sudo nano /etc/fstab
Al final del archivo, puedes añadir una línea del estilo:
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
Aquí cada opción tiene su papel:
- joan@192.168.1.14:/home/joan: servidor y ruta remota que se montará.
- /home/joan/desktop: punto de montaje local.
- fuse.sshfs: indica que se usará el tipo de sistema de archivos SSHFS basado en FUSE.
- defaults: aplica las opciones de montaje estándar (rw, suid, dev, exec, auto, nouser, async, etc.).
- idmap=user: hace que el propietario de los ficheros remotos aparezca como el usuario local.
- _netdev: indica que el sistema de archivos depende de la red, por lo que no debe montarse hasta que esta esté disponible.
- users: permite que cualquier usuario pueda montar y desmontar ese sistema de archivos.
- IdentityFile=/home/joan/.ssh/id_rsa: ruta a la clave privada para autenticación sin contraseña.
- allow_other: da acceso a otros usuarios distintos del que monta el sistema (requiere configurar FUSE).
- reconnect: intenta reconectar automáticamente si la conexión SSH se cae.
- 0 0: desactiva el dump del sistema de archivos y las comprobaciones automáticas con fsck.
En sistemas que usan systemd, a veces es más robusto usar opciones como noauto,x-systemd.automount para que el montaje se haga bajo demanda en el primer acceso. Un ejemplo sería:
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 muy en cuenta que un error tipográfico o de sintaxis en /etc/fstab puede impedir que el sistema arranque con normalidad. Es buena idea hacer una copia de seguridad del fichero antes de tocarlo y tener a mano un live USB por si hay que corregirlo desde fuera.
Activar allow_other en la configuración de FUSE
Para que la opción allow_other de SSHFS tenga efecto, aparte de añadirla al montaje o a fstab, hay que permitir su uso en la configuración de FUSE. De lo contrario, el sistema la ignorará por seguridad.
Edita el archivo de configuración:
sudo nano /etc/fuse.conf
Dentro, busca una línea similar a:
#user_allow_other
Solo tienes que descomentarla quitando el símbolo #, de forma que quede:
user_allow_other
Guarda los cambios y cierra el editor. A partir de ahí, las monturas FUSE podrán usar allow_other siempre que se especifique, y otros usuarios del sistema tendrán acceso al contenido montado según los permisos del sistema de archivos remoto.
Comprobar y automatizar el montaje SSHFS
Una vez que has configurado todo (claves, fstab, FUSE, etc.), merece la pena probar el montaje manualmente para asegurarte de que no hay errores. En muchas configuraciones bastará con:
mount ~/desktop
Si el sistema de archivos remoto se monta sin quejarse, la configuración es correcta. Si aparece algún error, revísalo con calma: normalmente te dará pistas sobre permisos, claves, rutas o sintaxis en fstab.
Cuando lo tengas controlado, puedes reiniciar el ordenador y comprobar que, al arrancar, el sistema realiza el montaje SSHFS automáticamente o lo deja preparado para montarse al primer acceso (según la configuración que hayas elegido).

