Назад | Перейти на главную страницу

Создать открытый SSH-ключ из закрытого ключа?

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

Используйте параметр -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. Имя вашего закрытого ключа, вероятно, содержит то, что вы использовали. Вновь сгенерированный открытый ключ должен быть таким же, как и тот, который вы создали ранее.

Решение специально для пользователей Windows

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

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

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

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

Снимок, показывающий, какие части Puttygen нужно сфокусировать: