¿Cómo montar automáticamente utilizando sshfs?

Estoy usando el siguiente comando para montar un directorio ssh ubuntu en mi pc de ubuntu.

sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx 

Mi pregunta es, ¿puedo crear una secuencia de comandos para esto en mi escritorio donde pueda hacer un doble clic y ejecutar esta secuencia de comandos cuando sea necesario montar la unidad sin tener que escribir el comando siempre?

Puede crear un lanzador y agregarlo a la barra de lanzadores arrastrando y soltando el archivo .desktop allí:

  #!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Terminal=false Icon[en_US]=nautilus Name[en_US]=Connect to xy Exec=shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx #OR: to mount and than open in nautilus (note the '/dir' where ':dir' used to be) #Exec=nautilus sftp://user@192.xx.xx.xx.xx/dir/dir Comment[en_US]=Connect to xy via ssh Name=Connect to xy Comment=Connect to xy via ssh Icon=nautilus 

Sugerencia – incluso menos trabajo:

Si desea menos trabajo (= autoconectarse) y una interfaz gráfica de usuario, es posible que desee revisar Gigolo Instalar gigolo . Tiene la capacidad de auto-montar un marcador, siempre que el sistema de archivos marcado esté presente. Quizá quieras echarle una ojeada a eso.

 sudo apt-get install gigolo # or use the install link above 

Ejecutar gigolo . Hay una opción en las preferencias que lo pone en inicio automático y otra para activar el icono de la bandeja. Compruebe ambos. A continuación, agregue su marcador.

Aquí hay una captura de pantalla:

introduzca la descripción de la imagen aquí

Forma de concha

Otra solución sería colocar la siguiente línea en su crontab (edite /etc/crontab con privilegios de sudo):

 @reboot sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx 

Pero como el administrador de contraseñas de Ubuntu no está presente cuando se ejecuta el comando, debe usar un par de claves privada / pública sin contraseña para autenticar con el servidor ssh en cuestión (o un método de autenticación similar). Esto lo montaría en cada reinicio.

Otra solución sería editar su /etc/fstab (proporcionar su versión de Ubuntu proporciona esa opción).

Este hilo del foro muestra un método para crear un SSHFS de assembly automático que me parece exactamente lo que te gustaría hacer.

Simplemente puede escribir esto en un script de shell y puede crear un lanzador para él en el escritorio.

Por ejemplo mountssh.sh :

 #!/bin/bash shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx 

asegúrese de hacer chmod +x mountssh.sh y luego hacer clic en él se ejecutará

Alternativamente, puede montarlo a través de gvfs, haciendo clic derecho en el escritorio y creando un lanzador con el parámetro URL: ssh://user@192.xx.xx.xx.xx/dir/dir . Por defecto, se monta en ~/.gvfs/... Si desea mantener el /home/username/mount/xxx , puede crear un enlace simbólico desde el gvfs a este.

Incluso podría ir un paso más allá y hacer que los autofs se encarguen del assembly por usted. Dado que autofs no funciona particularmente bien con la autenticación de clave pública SSH (a menos que desee crear un par de claves sin contraseña para el superusuario ), existen herramientas que le permiten usar las claves SSH, ssh-agent y keychain del usuario:

  • autosshfs : por usuario assembly automático de SSHFS utilizando la configuración SSH del usuario
  • afuse : un assembly automático implementado con FUSE

Monté una carpeta exactamente de la misma manera, lo que hice fue crear un lanzador personalizado que apunta a un archivo .sh que contiene el comando. Solo asegúrate de que el archivo tenga permiso de ejecución y listo.

Simplemente hago clic en el lanzador:

introduzca la descripción de la imagen aquí