web-dev-qa-db-ja.com

スクリプトをリモートで実行し、ssh自動ログインでローカルに結果を使用します

ServerAからServerBに接続し、Oracle Database StatusとPendingLogsを確認して結果を記録し、ServerAで結果を使用して、serverAでの結果と比較し、serverAでログを生成したいと思います。

ssh -q [email protected] sh -s < /root/script.sh > /root/output.txtを使用しました

ただし、パスワードは手動で入力する必要があります。

  1. インタラクティブログインをオフにする方法はありますか?

  2. spawn sshを介してスクリプトファイルを実行するにはどうすればよいですか?

1
Reza

1-インタラクティブログインをオフにする方法はありますか?

はい、公開鍵認証を使用するか、 sshpassでパスワードを入力してください

2-スポーンsshを介してスクリプトファイルを実行するにはどうすればよいですか?

はい、 expect script を使用します。 (awk)内で他のスクリプトを実行する場合は、特殊文字(\$)。

0
Jakuje

実際、最初の質問では、インタラクティブログインをオフにする必要はないかもしれませんが、 Jakuje で与えられるように、 my blog で説明されているようにsshpassまたは公開鍵認証を使用できます。 。公開鍵認証のもう1つの優れたリファレンスが利用可能です ここ 。 sshpassは次の形式で使用できますが、最初にsshpassをシステムにインストールする必要があります。

コマンド形式:

sshpass -f password_file ssh user_login@ip_address_of_the_server
0