381

SSHキーのパスフレーズを忘れたと思いますが、それが何であるかについては予感があります。自分が正しいかどうかを確認するにはどうすればよいですか?

4

6 に答える 6

668

ssh-keygen -y

ssh-keygen -yパスフレーズの入力を求められます(パスフレーズがある場合)。

正しいパスフレーズ    を入力すると、関連する公開鍵が表示されます。間違ったパスフレーズ
    を入力すると、が表示されます。     キーにパスフレーズがない場合、パスフレーズの入力を求めるプロンプトは表示され、関連付けられた公開キーがすぐに表示されます。load failed

例えば、

パスフレーズの有無にかかわらず、新しい公開鍵と秘密鍵のペアを作成します。

$ ssh-keygen -f /tmp/my_key
...

次に、キーペアにアクセスできるかどうかを確認します。

$ ssh-keygen -y -f /tmp/my_key

以下は拡張例であり、出力を示しています。

パスフレーズの有無にかかわらず、新しい公開鍵と秘密鍵のペアを作成します。

$ ssh-keygen -f /tmp/my_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/my_key.
Your public key has been saved in /tmp/my_key.pub.
The key fingerprint is:
de:24:1b:64:06:43:ca:76:ba:81:e5:f2:59:3b:81:fe rob@Robs-MacBook-Pro.local
The key's randomart image is:
+--[ RSA 2048]----+
|     .+          |
|   . . o         |
|    = . +        |
|   = + +         |
|  o = o S .      |
|   + = + *       |
|    = o o .      |
|     . .         |
|      E          |
+-----------------+

正しいパスフレーズを入力して、キーペアにアクセスしてみてください。公開鍵が表示され、終了ステータス($?)が0成功を示すことに注意してください。

$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBJhVYDYxXOvcQw0iJTPY64anbwSyzI58hht6xCGJ2gzGUJDIsr1NDQsclka6s0J9TNhUEBBzKvh9nTAYibXwwhIqBwJ6UwWIfA3HY13WS161CUpuKv2A/PrfK0wLFBDBlwP6WjwJNfi4NwxA21GUS/Vcm/SuMwaFid9bM2Ap4wZIahx2fxyJhmHugGUFF9qYI4yRJchaVj7TxEmquCXgVf4RVWnOSs9/MTH8YvH+wHP4WmUzsDI+uaF1SpCyQ1DpazzPWAQPgZv9R8ihOrItLXC1W6TPJkt1CLr/YFpz6vapdola8cRw6g/jTYms00Yxf2hn0/o8ORpQ9qBpcAjJN
$ echo $?
0

間違ったパスフレーズを入力して、キーペアにアクセスしてみてください。「ロードに失敗しました」というエラーメッセージが表示され(メッセージはOSによって異なる場合があります)、終了ステータス($?)は1エラーを示すことに注意してください。

$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
load failed
$ echo $?
1

パスフレーズのないキーペアにアクセスしてみてください。パスフレーズのプロンプトは表示されず、公開鍵が表示され、終了ステータス($?)が0成功を示すことに注意してください。

$ ssh-keygen -y -f /tmp/my_key_with_no_passphrase
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLinxx9T4HE6Brw2CvFacvFrYcOSoQUmwL4Cld4enpg8vEiN8DB2ygrhFtKVo0qMAiGWyqz9gXweXhdmAIsVXqhOJIQvD8FqddA/SMgqM++2M7GxgH68N+0V+ih7EUqf8Hb2PIeubhkQJQGzB3FjYkvRLZqE/oC1Q5nL4B1L1zDQYPSnQKneaRNG/NGIaoVwsy6gcCZeqKHywsXBOHLF4F5nf/JKqfS6ojStvzajf0eyQcUMDVhdxTN/hIfEN/HdYbOxHtwDoerv+9f6h2OUxZny1vRNivZxTa+9Qzcet4tkZWibgLmqRyFeTcWh+nOJn7K3puFB2kKoJ10q31Tq19
$ echo $?
0

引数の順序が重要であることに注意してください。前に来る-y 必要-f input_keyfileがあります。そうしないと、エラーが発生しますToo many arguments.

于 2014-05-14T23:27:04.593 に答える
142

SSHキーパスフレーズをSSHエージェントにロードすることで、SSHキーパスフレーズを確認できます。OpenSSHでは、これはを介して行われssh-addます。

完了したら、を実行してSSHパスフレーズをターミナルからアンロードすることを忘れないでくださいssh-add -d

于 2010-12-10T17:20:10.360 に答える
6

@RobBednarkのソリューションを特定のWindows+PuTTYシナリオに拡張すると、次のことが可能になります。

  1. PuTTYgenを使用してSSHキーペアを生成し(WindowsでSSHキーを手動で生成した後)、PPKファイルに保存します。

  2. Windowsエクスプローラのコンテキストメニューで、[PuTTYgenで編集]を選択します。パスワードの入力を求められます。

間違ったパスワードを入力すると、もう一度プロンプトが表示されます。

入力する場合は、PPKファイルを含むフォルダーで次のコマンドを使用することに注意してくださいputtygen private-key.ppk -y

于 2017-11-30T13:19:24.683 に答える
3

私がウェブ上で見つけたこれまでの最良の答えは次のとおりです。

ssh-keygen -y -P "" -f ~/.ssh/id_rsa

これにより、パスフレーズを空の文字列として使用して秘密鍵を読み取ろうとします。パスフレーズのないキーがある場合は、公開キーが完全に正常に表示されます。

そうしないと、アプリはエラーコードとメッセージで終了します。

Load key "~/.ssh/id_rsa": incorrect passphrase supplied to decrypt private key
于 2021-11-29T20:05:24.690 に答える
0

パスフレーズがSSHキーのロックを解除することでありssh-agent、がないが、マシンにsshd(SSHデーモン)がインストールされている場合は、次のようにします。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;
ssh localhost -i ~/.ssh/id_rsa

~/.ssh/id_rsa.pubは公開鍵で、は~/.ssh/id_rsa秘密鍵です。

于 2013-02-20T18:54:58.937 に答える
0

「ssh-keygen-p」を使用します。「-f」を追加できます

古いパスワードの入力を求められます。パスワードが正しい場合は、新しいパスワードの入力を求めるプロンプトが表示されます。古いパスワードが正しくない場合は、「キーの読み込みに失敗しました<...>」というメッセージが表示されます。

于 2020-01-10T19:29:41.810 に答える