Вопрос: Создать общедоступный ключ SSH из закрытого ключа?


Предположим, у меня есть ключ SSH, но я удалил часть открытого ключа. У меня есть частная ключевая часть. Есть ли способ восстановить часть открытого ключа?


196
2017-08-10 14:36


Источник




Ответы:


Используйте параметр -y для ssh-keygen:

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub

Из 'man ssh-keygen'

 -y      This option will read a private OpenSSH format file and print an
         OpenSSH public key to stdout.

Укажите секретный ключ с параметром -f, твой может быть dsa вместо rsa. Имя вашего закрытого ключа, вероятно, содержит то, что вы использовали. Сгенерированный открытый ключ должен быть таким же, как тот, который вы создали ранее.


228
2017-08-10 14:39



Почему «-t dsa»? Ключом ключа OP является rsa? Я бы избавился от -t и вместо этого использовал -f. - innaM
Хорошая точка, обновленная соответственно - Kyle Brandt♦
да, изначально я был RSA. - Rory
На Mac OSX 10.9.3 Mavericks после запуска команды я получаю «load failed». Как я могу это решить? - Hyperfocus
Я думаю, что вы можете сделать этот шаг дальше с параметром -N, если закрытый ключ защищен паролем: ssh-keygen -f ~/.ssh/id_rsa -y -N "$PASSWORD" > ~/.ssh/id_rsa.pub - ken


Решение специально для пользователей, использующих Windows

Используемый инструмент:

  • Puttygen (генератор ключей PuTTY)
  • WinSCP

Шаги для выполнения:

  1. Откройте генератор ключей PuTTY.
  2. Загрузите свой секретный ключ (*.ppk файл).
  3. Скопируйте данные открытого ключа из «Открытого ключа для вставки в файл OpenSSH authorized_keys» в разделе «Генератор ключей PuTTY» и вставьте данные ключа в файл «authorized_keys» (используя блокнот), если вы хотите его использовать.

Снимок, показывающий фрагменты Puttygen для фокусировки


5
2017-11-21 10:00



Дальнейшее чтение: askubuntu.com/questions/53553/... - devprashant