Как я могу проверить / проверить / проверить / подтвердить свой пароль SSH? - PullRequest
253 голосов
/ 10 декабря 2010

Я, вероятно, забыл пароль для моего ключа SSH. Опять же.

Но я догадываюсь, что это может быть. Как я могу проверить, прав ли я?

Ответы [ 4 ]

454 голосов
/ 15 мая 2014

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

Попытаться получить доступ к паре ключей, введя неверную фразу-пароль. Обратите внимание, что будет отображено сообщение об ошибке «загрузка не удалась» (сообщение может отличаться в зависимости от ОС), а состояние выхода ($?) будет 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
101 голосов
/ 10 декабря 2010

Вы можете проверить ключевую фразу SSH-ключа, попытавшись загрузить ее в ваш агент SSH. С OpenSSH это делается через ssh-add.

Как только вы закончите, не забудьте выгрузить вашу парольную фразу SSH из терминала, введя ssh-add -d

2 голосов
/ 30 ноября 2017

Расширяя решение @ RobBednark для конкретного сценария Windows + PuTTY, вы можете сделать это:

  1. Создать пару ключей SSH с PuTTYgen (после Генерация вашего SSH вручнуювведите в Windows ), сохранив его в файл PPK;

  2. В контекстном меню в проводнике Windows выберите «Редактировать с PuTTYgen».Он запросит пароль.

Если вы введете неправильный пароль, он просто запросит снова.

Обратите внимание, если вы хотите набрать, используйте следующую командув папке, содержащей файл PPK: puttygen private-key.ppk -y.

0 голосов
/ 20 февраля 2013

Если ваша парольная фраза предназначена для разблокировки ключа 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 - закрытый ключ.

...