Inicio
» Cómo
»
How to Mount a Remote SSHFS Directory Automatically at Boot in Debian
How to Mount a Remote SSHFS Directory Automatically at Boot in Debian
To mount a remote SSHFS directory automatically in Debian, configure noninteractive SSH authentication and add an SSHFS entry to /etc/fstab. With systemd, you can either connect during boot or activate an automount at boot and connect when the directory is first accessed. The second approach is useful when the remote server or network may be unavailable during startup.
This reference uses Debian 13 “trixie” documentation reviewed on October 9, 2026, including SSHFS 3.7.3 and systemd 257 documentation. The commands are configuration examples, not results from a tested deployment. Check your installed manuals if you use another release.
Choose when the SSHFS connection should start
Requirement
Configuration choice
Expected behavior
Make the directory available on demand after boot
Use x-systemd.automount
The first access triggers the remote mount.
Attempt the remote connection during boot
Omit x-systemd.automount
systemd starts the mount as part of startup.
Allow startup to continue if storage is unavailable
Use nofail
The mount is not a required boot dependency.
An application must wait for this storage
Add a dependency to that application’s service
The application starts only after the mount succeeds.
The main example uses an on-demand mount. The distinction matters: an active automount does not mean an SSHFS connection already exists. See Debian’s systemd automount manual for the relationship between the automount and its matching mount unit.
Before you start
The Debian client uses systemd and you have sudo access.
The remote account supports SFTP and can access the intended directory.
The client can reach the remote host, including any required VPN or jump host.
You have a way to verify the remote server’s SSH host-key fingerprint.
The local mount point is empty and is not a critical system directory.
Replace files@storage.example.net:/srv/data with your remote username, hostname, and directory. The hostname is a placeholder. The local mount point is /mnt/remote; the dedicated key is /root/.ssh/sshfs_boot.
This is an administrator-managed system mount. It runs locally as root but logs into the remote server as files, not remote root. The SSHFS project documentation generally recommends running ordinary interactive mounts as a regular user. A system boot mount requires deliberate credential and access management.
Install SSHFS on the Debian client. The remote system needs working SFTP service; it does not need an SSHFS installation just to serve files. If package installation fails, resolve the repository or connectivity issue before editing boot configuration.
Install the SSHFS client and OpenSSH tools on Debian.
No sobrescriba una clave existente en esa ruta. Elija otro nombre si es necesario y utilícelo de forma consistente a continuación. La frase de contraseña vacía es intencional para este ejemplo desatendido: no hay nadie disponible para desbloquear la clave durante el arranque. Proteja el cliente y otorgue a la cuenta remota solo los permisos de directorio necesarios. Si su política requiere claves cifradas, configure un mecanismo de desbloqueo desatendido administrado.
Durante la configuración de la conexión, compare la huella digital de la clave de host mostrada con un valor obtenido del administrador del servidor a través de un canal de confianza antes de aceptarla. El comando se ejecuta como usuario root local, por lo que el registro habitual de la clave de host se almacena en los archivos SSH de root. Si la configuración basada en contraseña está deshabilitada en el servidor, pida al administrador que instale la clave pública.
A continuación, pruebe SFTP con el mismo archivo de identidad y clave de host que utilizará el montaje de arranque:
En la solicitud SFTP, use ls /srv/data, luego bye. Esto debe funcionar sin contraseña ni solicitud de confirmación. BatchMode=yesimpide la autenticación interactiva; la configuración explícita de la clave de host conserva la verificación. Estas opciones se definen en el manual de configuración del cliente OpenSSH .
Para un puerto distinto al predeterminado, utilice -p 2222ssh-copy-id, -P 2222sftp y port=2222las opciones de SSHFS. Si es necesario un servidor intermedio, configure y pruebe también esa ruta en el contexto SSH del usuario root.
Autorice la clave pública dedicada para la cuenta remota de ejemplo; verifique la huella digital del host durante la configuración.
Verifique que el listado pertenezca al directorio remoto deseado. Este ejemplo permite inicialmente el acceso solo al propietario del montaje local, root, así que use sudo para la verificación. Finalice desmontando antes de iniciar la configuración administrada por systemd. Cierre las shells y aplicaciones que utilicen el directorio si está ocupado.
SSHFS utiliza los permisos de la cuenta remota. Ser usuario root en el cliente no otorga permisos adicionales en el servidor. Solucione los errores de autenticación, SFTP o ruta remota aquí antes de guardar la configuración.
La terminal muestra un ejemplo de montaje manual; utilice el comando completo y las opciones de verificación que aparecen en el texto.
5. Agregue la entrada persistente de fstab
sudo cp -a /etc/fstab /etc/fstab.sshfs-backup
sudoedit /etc/fstab
Elija un nombre de archivo de copia de seguridad diferente si esa copia de seguridad ya existe. Agregue lo siguiente como una sola línea física , reemplazando el servidor y la ruta de ejemplo:
El manual de SSHFS de Debian especifica sshfscomo tipo de sistema de archivos fstab y lo acepta fuse.sshfspara compatibilidad. Los campos finales desactivan la programación de volcados y comprobaciones del sistema de archivos para esta entrada. Consulte la referencia de formato fstab si las rutas contienen espacios en blanco.
Opción
Propósito
_netdev
Clasifica el soporte como dependiente de la red.
nofail
Vamos a continuar el arranque sin necesidad de este montaje.
x-systemd.automount
Crea un montaje automático activado por acceso.
x-systemd.mount-timeout=30s
Limita el tiempo de espera del comando de montaje inicial.
ConnectTimeout=10
Establecimiento de la conexión SSH de Bounds.
reconnecty configuración de server-alive
Ayuda a detectar una conexión interrumpida y a restablecerla.
Las opciones específicas de systemd están documentadas en el manual de montaje de systemd de Debian . El tiempo de espera del montaje no impone un límite de tiempo para cada operación de archivo posterior.
Realice una copia de seguridad de fstab antes de agregar la entrada persistente de SSHFS.
6. Reinicie systemd y active el montaje automático.
sudo findmnt --verify --verbose
sudo systemctl daemon-reload
sudo systemctl start mnt-remote.automount
systemctl status mnt-remote.automount
sudo ls /mnt/remote
findmnt -t fuse.sshfs
Revise los mensajes de verificación antes de continuar. El manual de findmnt describe la verificación de fstab; esta verifica la configuración, no si las credenciales remotas funcionan. El acceso al directorio realiza la prueba de conexión por separado.
Los nombres de las unidades anteriores corresponden a /mnt/remote. Para otra ruta, derive el nombre del montaje con systemd-escape --path --suffix=mount /your/path. Las unidades generadas desde fstab no necesitan un systemctl enablecomando separado.
Si desea que se intente la conexión durante el arranque, elimine x-systemd.automountla entrada. Tras liberar a los usuarios del directorio, detenga sus unidades de automontaje y montaje, recargue systemd e inicie la unidad de montaje correspondiente. Manténgalo nofailsi el almacenamiento debe seguir siendo opcional.
Reinicie systemd e inicie la unidad de automontaje generada.
7. Verifique el comportamiento después de reiniciar.
Reinicie en un momento de mantenimiento adecuado. Con la configuración bajo demanda, compruebe primero el montaje automático y luego acceda al directorio:
systemctl status mnt-remote.automount
sudo ls /mnt/remote
systemctl status mnt-remote.mount
findmnt -t fuse.sshfs
Las señales esperadas son un automontaje activo tras el inicio y un montaje SSHFS real tras el acceso. Una autofsentrada por sí sola no prueba que los archivos remotos estén conectados. Verifique un archivo o directorio remoto conocido, no solo que exista la carpeta del punto de montaje local.
Si una aplicación necesita este almacenamiento antes de iniciarse, agregue un archivo de configuración a su servicio que contenga:
[Unit]
RequiresMountsFor=/mnt/remote
Esta dependencia, documentada en systemd.unit , instala y ordena los puntos de montaje necesarios. Reinicie systemd y pruebe el inicio de la aplicación por separado. La aplicación también necesita los permisos de acceso local adecuados.
Acceda al directorio y, a continuación, inspeccione el montaje SSHFS real y el estado de su unidad.
Repita la prueba SFTP en el contexto raíz; compruebe la clave seleccionada y la autorización remota.
La verificación de la clave de host falla
Verifique la huella digital del servidor y la entrada known_hosts del usuario root. Investigue una clave modificada antes de actualizarla.
Fallo en la resolución de nombres o en la conexión.
Verifique el DNS, el enrutamiento, el acceso a los puertos, el inicio de la VPN y la disponibilidad del servidor intermedio.
sudo puede leer archivos pero un usuario local no puede.
Revise la política de acceso y la asignación de propiedad de FUSE.
Mount está ocupado
Cierre los procesos cuyo directorio de trabajo o archivos abiertos se encuentren bajo el punto de montaje.
network-online.targetEs un punto de sincronización de inicio, no una garantía de que un servidor o VPN en particular sea accesible. La explicación de systemd network-online describe esa limitación.
Para el acceso intencional de un usuario local, considere agregar allow_other,default_permissions,uid=1000,gid=1000, sustituyendo los ID locales reales. Esto expone el acceso más allá del propietario del montaje, mientras que las comprobaciones de permisos del kernel siguen aplicándose. Las opciones UID/GID cambian la propiedad presentada, no la propiedad del lado del servidor. Los montajes raíz no requieren user_allow_otheren fuse.conf; esa política permite que los montajes que no son de raíz soliciten un acceso más amplio. Consulte el manual de permisos de FUSE . Vuelva a probar como el usuario de la aplicación previsto después de cambiar estas opciones.
Tras solucionar el problema subyacente, borre el estado de montaje fallido e intente acceder de nuevo:
sudo systemctl reset-failed mnt-remote.mount
sudo ls /mnt/remote
La recuperación mediante reconexión no es transparente para todas las aplicaciones: los archivos abiertos previamente pueden fallar y requerir reapertura. Las escrituras interrumpidas pueden provocar la pérdida de datos. Elija otro diseño de almacenamiento si su carga de trabajo requiere mayores garantías contra fallos.
Lea primero el registro de montaje; borre el estado de error después de corregir su causa.
Lista de verificación operativa y reversión
La conexión SFTP desatendida funciona utilizando la identidad de arranque exacta.
La clave de host se verifica y se almacena en el archivo correspondiente.
La entrada fstab se analiza correctamente y no contiene contraseñas ni claves privadas.
El acceso tras el reinicio genera la lista remota prevista.
El usuario o servicio local puede leer los archivos necesarios.
Usted comprende cómo la aplicación gestiona el almacenamiento no disponible.
Para deshabilitar la configuración, detenga las aplicaciones que usan el directorio, detenga mnt-remote.automounty mnt-remote.mount, elimine solo esta entrada de fstab y ejecute sudo systemctl daemon-reload. Conserve las demás entradas de fstab. Eliminar la configuración de montaje no borra los archivos remotos ni revoca la clave autorizada remota.