web-dev-qa-db-ja.com

RSAキーを使用した認証をローカルでテストできますか?

RSAキーに正しいパスフレーズを提供しているかどうかをローカルで確認する方法はありますか?

最近、Pushがパスワードの入力を求め、認証に失敗したため、一部のコミットをgithubにプッシュできませんでした。 githubがid_rsaディレクトリにある~/.sshファイルの正しい公開鍵を持っていることを確認し、Githubで認証できることを確認しました(ssh [email protected]の場合、認証されていることを示しますが、彼らはシェルアクセスを提供していないということです)、私は問題がGithubのものではなく私の側にあることを知っていました。

(この時点では、git format-patchを使用してコミットをファイルとして取得し、作業リポジトリを吹き飛ばしてGithubから再クローンし、git amを使用してパッチを再適用し、どんな問題でも、元の問題が何であれ、それは修正されました。)

しかし、これは疑問に思いました。リモートホストでの認証の問題が私に秘密鍵に間違ったパスフレーズを提供したのか、リモートホストが私の鍵を認識しなかったのかをどうやって知るのでしょうか。リモートホストへの接続を試行せずに、ローカルで秘密鍵を使用してテスト認証を行う方法はありますか?

34
pjmorse

ssh-add現在のキーにキーを追加するにはssh-agent。これにより、パスフレーズの入力を求められます。

通常、ssh-agentが実行中で、キーを追加すると、そのキーを認識するホストに接続するときに、キーのロックを解除する必要がなくなります。それがあなたの望むものでない場合は、単にssh-add -dを削除してssh-agentテストが完了したとき。

19

またはここで指摘したように サーバーなしでローカルにssh-keyをテストするにはどうすればよいですか

あなたはこれを行うことができます:

ssh-keygen -y

そして、これはサーバーを必要としません(Windows上のmsysgitでうまく動作します)。

45
gaborous