SSH経由でリモートサーバーに接続する[冗長]

SSH経由でリモートサーバーに接続する[冗長]

重複の可能性:
SSHを介してリモートシェルスクリプトを実行し、パスワードが必要なスクリプトのコマンドでパスワードの入力を求めるメッセージを表示するにはどうすればよいですか?

SSH経由でリモートサーバーに接続したいです。また、このスクリプトにパスワードを提供する必要があります。リモートサーバーに接続したら、サーバー起動スクリプトを実行したいと思います。例を提供してください。

ありがとう

ベストアンサー1

Expect ツールを使用してスクリプトを作成できます。

Redhatでは、Expectパッケージはデフォルトです。ただし、Ubuntuでは別途インストールする必要があります。

コマンドを使用して、次のことを確認できます。

$ rpm -qa | grep expectレッドハットの場合

$ dpkg -l expectUbuntuの場合

次のスクリプトが操作を実行します。

#!/usr/bin/expect

spawn ssh username@hostname
expect "username@hostname's password: "
send "password\r"
interact
exec <path_of_init_script>

usernameログインした実際のユーザー名(ホスト名またはIPアドレス)はどこにありhostname、パスワードは実際のパスワードです。

これにより、ボックスにログインしてスクリプトを実行できます。

おすすめ記事