Existem algumas armadilhas que podem causar os problemas que você está enfrentando. No momento desta resposta, você já resolveu um deles, mas eu vou acertar todos eles (seu problema atual está sendo causado por # 3).
1 - O arquivo de identidade
Este é o que você resolveu. Ao executar sshfs
de uma montagem autofs, sshfs
é executado como o usuário root, portanto, ele usa a chave ssh do root por padrão. Você precisa especificar IdentityFile=/home/user/.ssh/id_rsa
para usar uma chave diferente.
2 - hosts conhecidos
Além disso, como você está executando sshfs
como um usuário diferente do que normalmente faz, é necessário certificar-se de que o host remoto que está montando esteja no arquivo known_hosts
. Existem algumas maneiras de resolver esse problema.
- ssh para o host remoto uma vez como root e aceite a chave do host remoto.
- Adicione o parâmetro
StrictHostKeyChecking=no
. Isso fará com que o ssh aceite qualquer tecla que ele veja (portanto, introduz um pouco de insegurança). - Adicione o parâmetro
UserKnownHostsFile=/home/user/.ssh/known_hosts
. Isso fará com que use o arquivoknown_hosts
de seu usuário normal.
3 - FUSE allow_other
Por padrão, um sistema de arquivos de fusíveis (que é o sshfs) não permite que usuários, além daquele que montou o sistema de arquivos, o acessem. Como o autofs é executado como root, por padrão, somente o root pode acessá-lo. Qualquer outra pessoa não terá permissões (mesmo que o root seja montado por um usuário não-root), mesmo que as permissões reais do arquivo digam que devem ser feitas. Para resolver isso, você precisa adicionar a opção de montagem allow_other
. Isso permitirá que outros usuários, além daquele que o montou, acessem a montagem. Embora o acesso ainda obedecerá às permissões em nível de arquivo dos arquivos na montagem.