SSHを介してリモートホストでスクリプトを実行し、必要な回答の自動化に応答します。

SSHを介してリモートホストでスクリプトを実行し、必要な回答の自動化に応答します。

server0から(server1、server2、server3)までssh(SSHにはパスワードは必要ありません(すべてのサーバー間に信頼があり、すべてのサーバーに秘密鍵が存在します))。ただし、サーバー(server1、server2&server3)のリモートスクリプトはサービスを開始します。アプリケーションを起動するにはパスワードが必要です。 SSHを使用し、リモートサーバーから自動的にコマンドを実行できるようにしたいです。リモートスクリプトにパスワードが必要な場合、またはパスワードを含むパスワードの回答が必要です。

ssh -n -o StrictHostKeyChecking=no  servername remotescrip

スクリプトを実行するには、アプリケーションのパスワードを入力してください。

答え1

次に、次を使用します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}'

関連情報