当 RSA 身份验证不可行时如何自动挂载 sshfs?

当 RSA 身份验证不可行时如何自动挂载 sshfs?

我想在每次 Linux 启动时自动在远程计算机上安装文件系统。但是我总是需要使用密码身份验证,因为我不能use ssh-copy-id。如何使其自动进行而无需手动交互?

答案1

这对我有用:

echo $mypassword | sshfs -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host mountpoint -o workaround=rename -o password_stdin 

答案2

您可以使用该sshpass命令通过密码身份验证登录,但非交互方式:

echo "MyPassword" > passwordfile
chmod 600 passwordfile
sshpass -f passwordfile [ssh parameters]

不建议使用此技术,因为它会导致许多安全问题。从sshpass手册页:

安全地存储密码几乎是不可能的,sshpass 的用户应该考虑 ssh 的公钥身份验证是否提供相同的最终用户体验,同时涉及更少的麻烦且更安全。

然后,您可以使用ssh_commandsshfs 选项来使用 sshpass 而不是普通的 ssh

sshfs user@host mountpoint -o ssh_command='sshpass -f passwordfile ssh'

答案3

apt安装sshfs sshpass

纳米 /etc/fstab

sshfs#remoteuser@remotehost:/remoteshare /mnt/remoteshare fusion
_netdev,port=65022,idmap=user,allow_other,ssh_command=sshpass\040-f\040/root/.ssh/host.password\040ssh,reconnect,ServerAliveInterval= 60 0 0

纳米 /root/.ssh/host.password

我的远程用户密码清除

挂载-a

重要部分是挂载选项中的 \040

相关内容