重複の可能性:
SSHを介してリモートシェルスクリプトを実行し、パスワードが必要なスクリプトのコマンドでパスワードの入力を求めるメッセージを表示するにはどうすればよいですか?
SSH経由でリモートサーバーに接続したいです。また、このスクリプトにパスワードを提供する必要があります。リモートサーバーに接続したら、サーバー起動スクリプトを実行したいと思います。例を提供してください。
ありがとう
答え1
Expect ツールを使用してスクリプトを作成できます。
Redhatでは、Expectパッケージはデフォルトです。ただし、Ubuntuでは別途インストールする必要があります。
コマンドを使用して、次のことを確認できます。
$ rpm -qa | grep expect
レッドハットの場合
$ dpkg -l expect
Ubuntuの場合
次のスクリプトが操作を実行します。
#!/usr/bin/expect
spawn ssh username@hostname
expect "username@hostname's password: "
send "password\r"
interact
exec <path_of_init_script>
username
ログインした実際のユーザー名(ホスト名またはIPアドレス)はどこにありhostname
、パスワードは実際のパスワードです。
これにより、ボックスにログインしてスクリプトを実行できます。