SSHを使用してHost1と通信したいと思います。
ホスト2のユーザー名/パスワードがあり、シェルスクリプトを介してsshを使用してホスト2に接続したいとします(ユーザー名とパスワードを引数として使用します)。
誰かが同じシェルスクリプトを書くのに役立ちますか?
答え1
パスワードを書き留めておくのは良い考えではないようです。ssh
鍵を見てください。公開鍵と秘密鍵のペアを作成し、host1
ここに公開鍵をコピーするだけですhost2
。ここそれを行う方法のチュートリアルです。
答え2
expect
試してみるとうまくいきます。動作するにはインストールする必要があります #!/bin/bash
HOSTS="VM2 VM3 VM4 VM1"
read -p "Password: " PASSWORD
for HOST in $HOSTS
do
expect -c "
your command
expect {
"*password:*" { send $PASSWORD\r;interact }
}
exit
"
done
答え3
ssh-agent
そしてを見てくださいsshpass
。
彼らがあなたの問題を解決しなかった場合は、なぜそうしなかったのかを説明してください。
答え4
継続的なSSH通信が必要な場合は、autosshなどのユーティリティを使用できます。