回答:
OpenSSHにはBatchModeがあり、パスワードプロンプトの無効化に加えて、キーのパスフレーズのクエリを無効にする必要があります。
BatchMode
「yes」に設定すると、パスフレーズ/パスワードの照会が無効になります。このオプションは、パスワードを入力するユーザーがいないスクリプトおよびその他のバッチジョブで役立ちます。引数は「はい」または「いいえ」でなければなりません。デフォルトは「no」です。
サンプル使用法:
ssh -oBatchMode=yes -l <user> <host> <dostuff>
に次を追加します~/.ssh/config
。
PasswordAuthentication no
サーバーでパスワード認証を無効にするには、同じ行を追加し/etc/ssh/sshd_config
て再起動しsshd
ます。
コマンドライン(または~/.ssh/config
)で設定できますPreferredAuthentications
。
PreferredAuthentications=publickey
ssh -o PreferredAuthentications=publickey
ssh "-oPreferredAuthentications publickey"
ssh user@host -oPreferredAuthentications=publickey -C 'echo success'