![SSH経由でリモートサーバーに接続する[冗長]](https://linux33.com/image/43669/SSH%E7%B5%8C%E7%94%B1%E3%81%A7%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%5B%E5%86%97%E9%95%B7%5D.png)
重複の可能性:
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
、パスワードは実際のパスワードです。
これにより、ボックスにログインしてスクリプトを実行できます。