Inicio
» Cómo
»
Cómo montar automáticamente un directorio SSHFS remoto al arrancar en Debian
Cómo montar automáticamente un directorio SSHFS remoto al arrancar en Debian
Para montar automáticamente un directorio SSHFS remoto en Debian, configure la autenticación SSH no interactiva y añada una entrada SSHFS a /etc/fstab. Con systemd, puede conectarse durante el arranque o activar el montaje automático al arrancar y conectarse cuando se acceda al directorio por primera vez. El segundo método es útil cuando el servidor o la red remotos no están disponibles durante el inicio.
Esta referencia utiliza la documentación de Debian 13 “trixie”, revisada el 9 de octubre de 2026, incluyendo SSHFS 3.7.3 y la documentación de systemd 257. Los comandos son ejemplos de configuración, no resultados de una implementación probada. Consulte los manuales instalados si utiliza otra versión.
Elija cuándo debe iniciarse la conexión SSHFS.
Requisito
Opción de configuración
Comportamiento esperado
Hacer que el directorio esté disponible bajo demanda después del arranque.
Usox-systemd.automount
El primer acceso activa el montaje remoto.
Intenta la conexión remota durante el arranque.
Omitirx-systemd.automount
systemd inicia el montaje como parte del arranque.
Permitir que el inicio continúe si el almacenamiento no está disponible.
Usonofail
El montaje no es una dependencia de arranque obligatoria.
Una aplicación debe esperar a que este almacenamiento esté disponible.
Agregue una dependencia al servicio de esa aplicación.
La aplicación se inicia solo después de que el montaje se haya realizado correctamente.
El ejemplo principal utiliza un montaje bajo demanda. Es importante destacar que un automontaje activo no implica que ya exista una conexión SSHFS. Consulte el manual de automontaje de systemd de Debian para obtener más información sobre la relación entre el automontaje y su unidad de montaje correspondiente.
Antes de empezar
El cliente Debian utiliza systemd y usted tiene acceso sudo.
La cuenta remota admite SFTP y puede acceder al directorio deseado.
El cliente puede acceder al host remoto, incluyendo cualquier VPN o servidor intermedio necesario.
Tienes una forma de verificar la huella digital de la clave de host SSH del servidor remoto.
El punto de montaje local está vacío y no es un directorio crítico del sistema.
Reemplazar files@storage.example.net:/srv/datacon tu nombre de usuario remoto, nombre de host y directorio. El nombre de host es un marcador de posición. El punto de montaje local es /mnt/remote; la clave dedicada es /root/.ssh/sshfs_boot.
Este es un montaje de sistema administrado por el administrador. Se ejecuta localmente como root, pero inicia sesión en el servidor remoto como filesusuario normal, no como root remoto. La documentación del proyecto SSHFS generalmente recomienda ejecutar los montajes interactivos ordinarios como un usuario normal. Un montaje de arranque del sistema requiere una gestión deliberada de credenciales y acceso.
Instale SSHFS en el cliente Debian. El sistema remoto necesita un servicio SFTP que funcione; no necesita una instalación de SSHFS solo para servir archivos. Si la instalación del paquete falla, solucione el problema del repositorio o de conectividad antes de editar la configuración de arranque.
Instala el cliente SSHFS y las herramientas OpenSSH en Debian.
2. Prepare el punto de montaje y la clave dedicada.
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. Después de 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. Recargue 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.