Если вы используете selinux, вы также можете проверить контекст домашнего каталога и файлов .ssh! Мне посчастливилось использовать это простое исправление: # restorecon -R -v /home/userчтобы проверить, является ли это проблемой (хотя предыдущая команда не должна вызывать проблем), вы можете использовать ее $ ls -lZR <home_dir>для изучения контекста. Если вы не видите ни user_home_tв домашнем каталоге, ни ssh_home_tв .sshкаталоге, ни в authorized_keysфайле, используйте их restoreconдля исправления.
fbicknel
523
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означать успех:
Попытайтесь получить доступ к паре ключей, введя неверную фразу-пароль. Обратите внимание, что будет отображено сообщение об ошибке «загрузка не удалась» (сообщение может отличаться в зависимости от ОС), а состояние выхода ( $?) будет 1означать ошибку:
Попытайтесь получить доступ к паре ключей без парольной фразы. Обратите внимание, что для парольной фразы нет запроса, будет отображаться открытый ключ и состояние выхода ( $?) будет 0означать успех:
Если пароля нет, он просто распечатает соответствующий открытый ключ.
Кюрреманн
1
Спасибо @Kyrremann! Сейчас я обновил ответ, чтобы отразить это.
Роб Беднарк
ssh-keygen -yзапрашивает файл ключа и предлагает значение по умолчанию при нажатии возврата, как и следовало ожидать.
Тимо
Я использовал ssh-keygen -yдля проверки парольной фразы моего ключа SSH. Он работал нормально, за исключением того, что моя Ubuntu стала невероятно медленной. Большинство программ может запуститься через минуту или более, если загрузка процессора составляет 100%. После перезагрузки моего ноутбука я едва мог войти в систему, так как потребовалось несколько минут, чтобы увидеть мой рабочий стол. Наконец-то я нашел эту проблему в Ask Ubuntu . Я должен был начать, gnome-keyring-daemonчтобы решить проблему.
Адам Фоньяги
2
Расширяя решение @ RobBednark для конкретного сценария Windows + PuTTY, вы можете сделать это:
Используйте "ssh-keygen -p". Вы можете добавить "-f"
Вам будет предложено ввести старый пароль. Если пароль правильный, он предложит ввести новый пароль. Если старый пароль неверен, вы получите «Не удалось загрузить ключ <...>».
Если ваша парольная фраза предназначена для разблокировки вашего ключа SSH ssh-agent, но у вас его нет , но на вашем компьютере установлен sshd (демон SSH), выполните:
passphrase
без пароля;)Ответы:
Вы можете проверить свою ключевую фразу 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
предложит ввести пароль (если он есть).Если вы введете правильную фразу-пароль, он покажет вам связанный открытый ключ.
Если вы введете неправильную фразу-пароль, она отобразится
load failed
.Если ключ не имеет парольной фразы, он не будет запросит у вас парольную фразу и немедленно покажет вам связанный открытый ключ.
например,
Создайте новую пару открытого / закрытого ключа с парольной фразой или без нее:
Теперь посмотрим, можете ли вы получить доступ к паре ключей:
Ниже приведен расширенный пример с выводом.
Создайте новую пару открытого / закрытого ключа с парольной фразой или без нее:
Попытайтесь получить доступ к паре ключей, введя правильную фразу-пароль. Обратите внимание, что будет показан открытый ключ, а состояние выхода (
$?
) будет0
означать успех:Попытайтесь получить доступ к паре ключей, введя неверную фразу-пароль. Обратите внимание, что будет отображено сообщение об ошибке «загрузка не удалась» (сообщение может отличаться в зависимости от ОС), а состояние выхода (
$?
) будет1
означать ошибку:Попытайтесь получить доступ к паре ключей без парольной фразы. Обратите внимание, что для парольной фразы нет запроса, будет отображаться открытый ключ и состояние выхода (
$?
) будет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-keygen -p". Вы можете добавить "-f"
Вам будет предложено ввести старый пароль. Если пароль правильный, он предложит ввести новый пароль. Если старый пароль неверен, вы получите «Не удалось загрузить ключ <...>».
источник
Если ваша парольная фраза предназначена для разблокировки вашего ключа SSH
ssh-agent
, но у вас его нет , но на вашем компьютере установлен sshd (демон SSH), выполните:Где
~/.ssh/id_rsa.pub
находится открытый ключ, и где~/.ssh/id_rsa
находится закрытый ключ.источник