Isso funcionou para mim:
echo $mypassword | sshfs -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host mountpoint -o workaround=rename -o password_stdin
Eu gostaria de montar um sistema de arquivos em uma máquina remota automaticamente em cada inicialização do Linux. No entanto, sempre preciso usar a autenticação de senha, porque não posso use ssh-copy-id
. Como faço para que isso seja automático sem interação manual?
Isso funcionou para mim:
echo $mypassword | sshfs -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host mountpoint -o workaround=rename -o password_stdin
Você pode usar o comando sshpass
para fazer login por meio da autenticação de senha, mas não de forma interativa.
echo "MyPassword" > passwordfile
chmod 600 passwordfile
sshpass -f passwordfile [ssh parameters]
O uso dessa técnica não é recomendado, pois isso causa vários problemas de segurança. De sshpass
man page:
It is close to impossible to securely store the password, and users of sshpass should consider whether ssh's public key authentication provides the same end-user experience, while involving less hassle and being more secure.
Você pode então usar a opção ssh_command
do sshfs para usar o sshpass ao invés do simples ssh
sshfs user@host mountpoint -o ssh_command='sshpass -f passwordfile'