Usando una caja NAS como servidor de archivos 24/7, me gustaría usar sshfs para conectarme desde un escritorio Ubuntu 9.04. Actualmente, tengo esta línea en la fstab del escritorio:
sshfs#jldugger@storage:/mnt/HD_a2/ /mnt/storage fuse comment=sshfs,auto,users,exec,uid=1000,gid=1000,allow_other,reconnect,transform_symlinks,BatchMode=yes,fsname=sshfs#jldugger@storage/mnt/HD_a2/ 0 0
Puedo confirmar que funciona con montaje /mnt/storage
. Lo que necesito es algún método para montarlo al inicio, pero una vez establecida la conexión de red.
Respuestas:
Actualmente, Upstart en Ubuntu no genera eventos de red. En cambio, se llama sysvinit tradicional. Por defecto, NetworkManager está instalado y ejecutándose; en lugar de emitir eventos de red para iniciar, contiene un despachador de partes de ejecución (/etc/NetworkManager/dispatcher.d/) que en sí mismo simplemente se basa en el despachador de partes de ejecución de ifupdown (/etc/network/*.d/). En particular, le interesan /etc/network/if-up.d/ y /etc/network/if-down.d/
Primero configure un par de claves ssh sin cifrar, para que pueda montar el punto sin un aviso. Escriba un script, colóquelo en /etc/network/if-up.d/ y haga que sea ejecutable. Lo siguiente fue descubierto en UbuntuForums y fue suficiente para mí:
Si tiene una conexión wifi o no confiable, coloque lo siguiente en /etc/network/if-down.d/:
fuente
echo
Notaré que cambié los comandos que salían a stdout alogger -t mountsshfs
comandos en su lugar para que la salida fuera a syslog.Upstart es el método preferido para emitir scripts de inicio o servicios en Ubuntu ahora, aunque la edición
/etc/rc.local
aún funciona. Upstart le permite controlar cuándo se ejecuta el servicio, asegurándose de que ocurra después de iniciar su conexión de red.También es posible editar los enlaces simbólicos en /etc/rc.Xd directamente (sustituya X por el nivel de ejecución que está utilizando) y agregue un nombre como S99mount para asegurarse de que se ejecuta después de la configuración de la red. Esto deberá apuntar a un archivo de script que monte los sshfs que está solicitando.
fuente
_netdev como una opción de montaje debería resolver esto, creo
fuente
Solo una idea, pero si está usando esto como un servidor de archivos, tal vez NFS o Samba sería una mejor solución que ssh.
fuente
Aquí hay otra solución en caso de que no tenga un certificado de su host remoto y deba usar un nombre de usuario / contraseña. Estoy usando en este ejemplo el mismo nombre de usuario y directorios utilizados por jldugger para evitar agregar confusión.
Cree un archivo que contenga su contraseña en su directorio de inicio y asegúrelo:
Edite su
/etc/rc.local
archivo e inserte el siguiente comando en la parte inferior, pero antes de la "salida 0":fuente