Automount sshfs usando fstab sin montaje -a


24

Considere la siguiente línea fstab (saltos de línea para facilitar la lectura):

sshfs#user@192.168.1.123:/home/user/ 
/home/user/Server/ 
fuse    
auto,user,_netdev,reconnect,uid=1000,gid=1000,IdentityFile=/home/user/.ssh/id_rsa,idmap=user,allow_other  
0 

Funciona bien, pero cada reinicio que necesito usar mount -apara montar el servidor (o haga clic en el icono apropiado en Thunar para montar la cosa)

¿Es posible montar mi directorio ssh directamente en el momento del arranque?

Estoy usando Xubuntu 13.10

Respuestas:


18

La sintaxis correcta para montar recursos compartidos sshfs en el arranque, en el archivo / etc / fstab es

 USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY  /LOCAL/MOUNTPOINT  fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0

Es una adaptación a distribuciones no relacionadas con el sistema de las instrucciones contenidas aquí . Si en su lugar está en una distribución systemd (Arch, Fedora, OpenSUSE, ...), la instrucción adecuada es:

USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY  /LOCAL/MOUNTPOINT  fuse.sshfs x-systemd.automount,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0

Parece casi exactamente la misma línea fstab que la mía (excepto los permisos y la opción de enlace simbólico) De todos modos lo intenté, y no tuve éxito. Todavía tengo que mount -a
ejecutar

Eso es divertido, simplemente funcionó para otro usuario superuser.com/questions/666739/… . ¿Ha verificado que es el usuario 1000,1000 y que su clave en id_rsa?
MariusMatutiae

Sí, y funciona al 100%, pero necesito ejecutarlo mount -adespués del arranque. Estoy pensando en agregar mount -aal
inicio

Es posible que esto ocurra antes de que su red aparezca después de la ejecución del montaje en el arranque. Intente agregar estas dos líneas en rc.local sleep 10: mount -a
MariusMatutiae el

Todavía no hay éxito. Perpaphs el problema es mi configuración: mi red ethernet está funcionando 5-15 segundos después de que xfce (y el entorno de escritorio) esté activo. No sé por qué ubuntu funciona así. Mi arco se conecta antes de xfce, etc.
user21886

4

Intente usar la opción delay_connect .

Línea completa / etc / fstab:

USER@HOSTNAME:/REMOTE/ /LOCAL/ fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0

2

Esos delay_connect, _netdev... son correctos, pero no funcionarán a menos que modifique la red para que aparezca exactamente en (o antes) esa pequeña ventana de tiempo, cuando se procesa / etc / fstab. Cuando finaliza el procesamiento y las redes aparecen más tarde, debe usar mount -a(o amigos).

En la mayoría de los casos (y también en el mío), esto network-managercausó el problema, ya que activa la red después del inicio de sesión de forma predeterminada. Se puede ajustar para que aparezca antes en el momento del arranque. Si no recuerdo mal, todo lo que necesita hacer es marcar la opción Available to all usersen el cuadro de diálogo de propiedades de conexión (o, si prefiere la línea de comando, crear manualmente la conexión /etc/NetworkManager/system-connections).


0

Basado en esta página de ayuda de ubuntu y mis intentos con Debian 9, lo hago funcionar y tengo permisos de archivo correctos con esta fstabentrada:

sshfs#user@host:/remote/path /local/path fuse delay_connect,defaults,idmap=user,IdentityFile=/local/path/to/privatekey.pem,port=22,uid=1001,gid=1002,allow_other 0 0

delay_connectasegura fstabque no se monte la carpeta remota antes de que las interfaces de red estén activas.

Puede cambiar port, uid, gidpara satisfacer sus necesidades locales. Para descubrir mi uid/ gidyo simplemente utilicé $ idcuando inicié sesión con el usuario correcto.

allow_otherestá ahí para permitir que otros usuarios / grupos accedan al directorio montado; Incluso con los /local/pathpermisos correctos (por ejemplo 777), esto es necesario si desea que un usuario diferente (diferente del que monta los sshfs) acceda al directorio montado.

Se pueden encontrar otras opciones en la página de manual de sshfs

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.