Usando uma caixa NAS como servidor de arquivos 24/7, eu gostaria de usar o sshfs para conectar-se a ele a partir de um desktop Ubuntu 9.04. Atualmente, tenho esta linha no fstab da área de trabalho:
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
Posso confirmar que funciona com montagem /mnt/storage
. O que eu preciso é de algum método para montá-lo na inicialização, mas depois que a conexão de rede for estabelecida.
Respostas:
Atualmente, o Upstart no Ubuntu não gera eventos de rede. Em vez disso, chama sysvinit tradicional. Por padrão, o NetworkManager está instalado e em execução; em vez de emitir eventos de rede para iniciar, ele contém um despachante de peças de execução (/etc/NetworkManager/dispatcher.d/), que depende apenas do despachante de peças de execução do ifupdown (/etc/network/*.d/). Em particular, você se preocupa com o /etc/network/if-up.d/ e /etc/network/if-down.d/
Primeiro, configure um par de chaves ssh não criptografado, para poder montar o ponto sem aviso. Escreva um script, coloque-o em /etc/network/if-up.d/ e torne o executável. O seguinte foi descoberto no UbuntuForums e foi suficiente para mim:
Se você possui uma conexão wifi ou não confiável, coloque o seguinte em /etc/network/if-down.d/:
fonte
echo
comandos que estavam sendo enviados para stdout paralogger -t mountsshfs
comandos, para que a saída fosse para o syslog.O Upstart é o método preferido de emitir scripts ou serviços de inicialização no Ubuntu agora, embora a edição
/etc/rc.local
ainda funcione. O Upstart permite controlar quando o serviço é executado, garantindo que isso aconteça após o início da conexão de rede.Também é possível editar os links simbólicos no /etc/rc.Xd diretamente (substitua X pelo nível de execução que você está usando) e adicione um nome como S99mount para garantir que seja executado após a configuração da rede. Isso precisará apontar para um arquivo de script que monta os sshfs que você está solicitando.
fonte
_netdev como uma opção de montagem deve resolver isso, acredito
fonte
Apenas um pensamento, mas se você estiver usando isso como um servidor de arquivos, talvez o NFS ou o Samba seja uma solução melhor que o ssh.
fonte
Aqui está outra solução, caso você não tenha um certificado do host remoto e precise usar um login / senha. Estou usando neste exemplo o mesmo nome de usuário e diretórios usados pelo jldugger para evitar adicionar confusão.
Crie um arquivo contendo sua senha em seu diretório pessoal e proteja-o:
Edite seu
/etc/rc.local
arquivo e insira o seguinte comando na parte inferior, mas antes da "saída 0":fonte