web-dev-qa-db-ja.com

リモートホストでsshを実行してスクリプトを実行し、回答を期待して回答を自動化

Server0から(server1、server2、server3)へのssh(SSHにパスワードは必要ありません(すべてのサーバー間に信頼が存在し、すべてのサーバーに秘密鍵が存在します))が、サービスを開始するサーバー(server1、server2、server3)上のリモートスクリプト/ applicationを起動するには、パスワードが必要です。 sshを使用して、リモートサーバーでコマンドを自動的に実行できるようにしたい。リモートスクリプトにはパスワードが必要であるか、パスワード付きのパスワード応答が必要です

ssh -n -o StrictHostKeyChecking=no  servername remotescrip

スクリプトを実行するためのアプリケーションパスワードを入力します。

2
Sal Allan

次に、expectを使用します。

expect -c 'spawn ssh serversuser@server' \
-c 'expect "serverprompt" {send /path/to/your/script\n}' \
-c 'expect "Enter application password to run the script:" {send yourpassword\n}'
4
YoMismo