ssh が公開鍵を使用して認証できるかどうかをプログラムでテストする方法はありますか? 私はこのようなことをしたいと思います(できればbashで、しかしpythonソリューションを受け入れています):
ssh-test-thingy user@host || echo "could not authenticate using publickey"
リモートホストで公開鍵が一致しない場合ssh-test-thingy
、ゼロ以外の終了ステータスを返します。
ssh が公開鍵を使用して認証できるかどうかをプログラムでテストする方法はありますか? 私はこのようなことをしたいと思います(できればbashで、しかしpythonソリューションを受け入れています):
ssh-test-thingy user@host || echo "could not authenticate using publickey"
リモートホストで公開鍵が一致しない場合ssh-test-thingy
、ゼロ以外の終了ステータスを返します。
オプション-o BatchMode=yes
を ssh に渡し、それが機能するかどうかを確認します。これにより、パスワードの入力を求めるプロンプトが無効になります。これは、実際には、キーによる認証が可能かどうかを知りたいというあなたの欲求と同等だと思います。 ssh-test-thingy
次のような bash スクリプトとして記述できます。
exec ssh -o BatchMode=yes "$@" true
これは単純に user@host (およびその他の引数) を渡し、true
リモート ホストで実行を試みます。動作すると、すぐに成功のステータス コード (0) が返されます。