É possível montar automaticamente um sistema de arquivos sshfs sempre que a conexão for ativada?
É possível montar automaticamente um sistema de arquivos sshfs sempre que a conexão for ativada?
Respostas:
O Upstart no Ubuntu funciona com eventos de rede? Com certeza, você pode colocar scripts em /etc/network/if-up.d e /etc/network/if-down.d. Há um guia nos fóruns do Ubuntu .
Isso ajuda o suficiente?
Portanto, se o sshfs puder ser listado em / etc / fstab (acredito que possa ser), o mountall o montará sempre que um dispositivo de rede for ativado. A questão é que, quando o dispositivo de rede cai, é necessário desmontá-lo. Isso seria possível com um trabalho inicial, como /etc/init/sshfs-down.conf:
# sshfs-down
start on net-device-down IFACE!=lo
task
exec umount /path/to/sshfs/mount
Um problema provavelmente surgirá: o sshfs pode tentar liberar buffers em umount e, quando o dispositivo de rede já estiver inativo, você terá problemas.
Achei que a maneira mais fácil de conseguir isso é criar um pequeno script para o processo e adicioná-lo à lista de aplicativos de inicialização. Adicione essas duas linhas a um arquivo de texto e salve-o em algum lugar que você lembrará como algo como sshfs.sh do que adicione-o para iniciar.
#! /bin/bash
sshfs <host>@<ip>: ~/<mountpoint>
Certifique-se de criar a pasta antes de iniciar o script ou ele não terá onde montar o sistema de arquivos ao qual você está se conectando. O ponto de montagem pode estar onde você quiser, basta criá-lo na minha pasta pessoal.
Eu acho que a coisa mais útil a fazer é montar automaticamente um sistema de arquivos sshfs no acesso. autofs pode ser configurado para montar automaticamente sistemas de arquivos sshfs quando você acessar o ponto de montagem e desmontar após um tempo limite.
Dê uma olhada no autosshfs , que permite montar um sistema de arquivos sshfs (fusível) com o usuário ssh-agent
. Isso resolve o problema de autenticação usual com o autofs: como ele é executado como root, é difícil configurar a autenticação como usuário sem precisar digitar uma senha sempre.
allow_others
etc.