3

次のコマンドを含むシェル スクリプトがあります。

/usr/local/bin/ssh -q -i /.ssh/id_rsa -l oracle \
    -o UserKnownHostsFile=/dev/null \
    -o StrictHostKeyChecking=no \
    -o PasswordAuthentication=no \
    ${REMOTE_HOST} ${REMOTE_CMD}

StrictHostKeyChecking=no を指定すると、リモート ホストが認識されない場合にプロンプ​​トが表示されなくなりますが、PasswordAuthentication=no を指定すると、秘密鍵が不明な場合にパスワードの入力を求めるプロンプトが表示されなくなります。ただし、誰かが誤って秘密鍵のパスフレーズを設定した場合でも、「キーのパスフレーズを入力してください」というプロンプトが表示されます。これにより、応答を待っている間にスクリプトがハングアップする可能性がありますが、これは悪いことです。プロンプトを回避してすぐに終了する方法はありますか?

4

1 に答える 1

5

ssh -o BatchMode=yes ...パスフレーズ/パスワードのクエリを無効にします。

于 2012-11-08T14:35:52.153 に答える