-1

サーバーのリモート ステータスを監視するスクリプトがあります。このために、各リモート マシンでスクリプトを実行し、稼働時間、CPU 負荷、ディストリビューション バージョンに関する情報をログ ファイルに記録します。私のマスター サーバーのスクリプトは、次のようにこれらのファイルの scp を実行してサーバーにクエリを実行しますscp -i ~/.ssh/id_rsa pingmonitor@IP:~/pingmon.dat ./。この情報を照会するマシンと、リモート サーバーがこの情報を提供しないマシンがあります。

私がやりたいことは、マスターサーバーで秘密鍵を使用して scp を実行することです。成功すると、ファイルが受信されます。キーがリモート サーバーに追加されていない場合、scp は失敗するはずであり、それ以上の操作は必要ありません。

問題は、サーバーが以前に ssh アクセス用にセットアップされていない場合 (known_hosts で使用できない場合)、スクリプトが停止し、次のプロンプトが表示されることです。はい・いいえ)?"。yes が入力された場合、ユーザー パスワードを約 3 回要求します。

はい/いいえを削除しようとしました.3つの改行を含むファイルからパイプすることでパスワードプロンプトが表示されますが、パスワードを要求するのを止めません

秘密鍵が無効な場合にセッションを停止し、停止してパスワードを要求することなく、スクリプトに制御を戻すようにスクリプトを自動化するにはどうすればよいですか?

Debian Wheezy を使用しています。

4

1 に答える 1

3

PasswordAuthentication=nossh_config で設定します (ほとんどの場合~/.ssh/config)。これが機能しない場合は、ゼロに設定NumberOfPasswordPrompts=0して、パスワードの入力を求められないようにすることもできます。

于 2013-08-19T12:20:15.063 に答える