sshfs Automount usando fstab sem mount -a

22

Por favor considere seguir a linha fstab (quebras de linha para legibilidade):

sshfs#[email protected]:/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 bem, mas a cada reinicialização eu preciso usar mount -a para montar o servidor (ou clique no ícone apropriado no Thunar para montar a coisa)

É possível montar meu diretório ssh imediatamente no momento da inicialização?

Estou usando o Xubuntu 13.10

    
por user21886 04.11.2013 / 12:00

4 respostas

16

A sintaxe correta para montar compartilhamentos sshfs na inicialização, no arquivo / etc / fstab é

 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

É uma adaptação para não-systemd distros das instruções contidas aqui . Se você estiver em uma distribuição systemd (Arch, Fedora, OpenSUSE, ...), a instrução adequada é:

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
    
por 04.11.2013 / 12:16
3

Tente usar a opção delay_connect .

Linha completa do / 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
    
por 16.09.2014 / 08:16
1

Aqueles delay_connect , _netdev , ... estão corretos, mas não funcionarão a menos que você ajuste a rede para aparecer exatamente dentro (ou antes) dessa pequena janela de tempo, quando o / etc / fstab está sendo processado . Quando o processamento terminar e a rede aparecer mais tarde, você precisará usar o mount -a (ou amigos).

Na maioria dos casos (e também no meu), o network-manager causou o problema, já que ele coloca a rede após o login por padrão. Pode ser ajustado para trazê-lo mais cedo no momento da inicialização. Se bem me lembro, tudo que você precisa fazer é verificar a opção Available to all users no diálogo de propriedades da conexão (ou, se você preferir a linha de comando, crie manualmente a conexão em /etc/NetworkManager/system-connections ).

    
por 03.03.2015 / 10:53
0

Com base nesta página de ajuda do ubuntu e minhas tentativas com o Debian 9, eu faço funcionar e tenho permissões de arquivo corretas com este fstab entrada:

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_connect garante que fstab não monte a pasta remota antes que as interfaces de rede sejam ativadas.

Você pode alterar port , uid , gid para atender às suas necessidades locais. Para descobrir o meu uid / gid eu simplesmente usei $ id quando logado com o usuário certo.

allow_other está lá para permitir que outros usuários / grupos acessem o diretório montado; Mesmo com as permissões /local/path corretas (por exemplo 777 ), isso é necessário se você quiser que um usuário diferente (diferente daquele que está montando o sshfs) acesse o diretório montado.

Outras opções podem ser encontradas na página man do sshfs

    
por 06.04.2018 / 12:38