web-dev-qa-db-ja.com

SSHパスワードを確認、確認、テスト、検証するにはどうすればいいですか?

私はおそらくSSHキーのパスワードを忘れてしまいました。再び。

しかし、私はそれが何であるかもしれないかについてのハチです。私が正しいかどうかをどうやって確認できますか?

249
joachim

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

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

101

ssh-keygen -y

ssh-keygen -yはパスフレーズの入力を促します(もしあれば)。

正しいパスフレーズを入力すると、関連付けられている公開鍵が表示されます。
間違ったパスフレーズを入力すると、load failedが表示されます。
キーにnoパスフレーズが含まれていると、notパスフレーズの入力を求められ、関連する公開鍵がすぐに表示されます。

例えば。、

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

$ 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 [email protected]
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

誤ったパスフレーズを入力して鍵ペアにアクセスしようとしました。 「load failed」エラーメッセージが表示され(メッセージは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
449
Rob Bednark

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

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

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

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

入力する場合は、PPKファイルが含まれているフォルダーで次のコマンドを使用します。puttygen private-key.ppk -y

2
kokbira

あなたのパスフレーズがあなたの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は秘密鍵です。

0
Alexx Roche