Ответы:
Вы можете проверить свою ключевую фразу SSH-ключа, попытавшись загрузить ее в ваш агент SSH. С OpenSSH это делается через ssh-add
.
Как только вы закончите, не забудьте выгрузить вашу парольную фразу SSH из терминала, запустив ssh-add -d
.
ssh-add -d
# restorecon -R -v /home/user
чтобы проверить, является ли это проблемой (хотя предыдущая команда не должна вызывать проблем), вы можете использовать ее $ ls -lZR <home_dir>
для изучения контекста. Если вы не видите ни user_home_t
в домашнем каталоге, ни ssh_home_t
в .ssh
каталоге, ни в authorized_keys
файле, используйте их restorecon
для исправления.
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
ssh-keygen -y
запрашивает файл ключа и предлагает значение по умолчанию при нажатии возврата, как и следовало ожидать.
ssh-keygen -y
для проверки парольной фразы моего ключа SSH. Он работал нормально, за исключением того, что моя Ubuntu стала невероятно медленной. Большинство программ может запуститься через минуту или более, если загрузка процессора составляет 100%. После перезагрузки моего ноутбука я едва мог войти в систему, так как потребовалось несколько минут, чтобы увидеть мой рабочий стол. Наконец-то я нашел эту проблему в Ask Ubuntu . Я должен был начать, gnome-keyring-daemon
чтобы решить проблему.
Расширяя решение @ RobBednark для конкретного сценария Windows + PuTTY, вы можете сделать это:
Сгенерируйте пару ключей SSH с PuTTYgen (после Ручной генерации вашего ключа SSH в Windows ), сохранив ее в файл PPK;
В контекстном меню проводника Windows выберите «Редактировать с помощью PuTTYgen». Это запросит пароль.
Если вы введете неправильный пароль, он просто запросит снова.
Обратите внимание, если вы хотите ввести, используйте следующую команду в папку, содержащую файл ППК: puttygen private-key.ppk -y
.
Если ваша парольная фраза предназначена для разблокировки вашего ключа 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
находится закрытый ключ.
passphrase
без пароля;)