Linuxを起動するたびに、リモートマシンにファイルシステムを自動的にマウントしたいと思います。ただし、use ssh-copy-id
を使用できないため、常にパスワード認証を使用する必要があります。手動で操作せずにこれを自動化するにはどうすればよいですか?
これは私のために働いた:
echo $mypassword | sshfs -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@Host mountpoint -o workaround=rename -o password_stdin
sshpass
コマンドを使用して、パスワード認証を介してログインできますが、非対話型です。
echo "MyPassword" > passwordfile
chmod 600 passwordfile
sshpass -f passwordfile [ssh parameters]
この手法の使用は、多くのセキュリティ問題を引き起こすため、お勧めできません。 sshpass
のマニュアルページから:
パスワードを安全に保存することはほぼ不可能です。sshpassのユーザーは、sshの公開鍵認証が同じエンドユーザーエクスペリエンスを提供するかどうかを検討する必要がありますが、煩わしさは少なく、安全性も高くなります。
その後、ssh_command
プレーンsshの代わりにsshpassを使用するsshfsのオプション
sshfs user@Host mountpoint -o ssh_command='sshpass -f passwordfile ssh'