Как преобразовать ppk в закрытый ключ openSSH, зашифрованный парольной фразой

5992
B T

Когда я экспортировал свой закрытый ключ в PuttyGen, я предположил, что заданная пароль также использовалась в версии openSSH. Я обнаружил, что введенная пароль не работает. Как правильно экспортировать мой закрытый ключ в формате openSSH с парольной фразой?

Чтобы перенести экспортированный ключ ssh в linux, я просто вставил его в nano и попытался добавить ssh. Он запрашивает у меня пароль, но не принимает тот, который я ему дал. PuttyGen хорошо импортирует этот пароль

4
Попробуйте перефразировать ваш вопрос, правильно используя термины «пароль» и «пароль». Вы, кажется, ошибаетесь один за другим, что затрудняет понимание вашего вопроса. Martin Prikryl 9 лет назад 0

1 ответ на вопрос

1
grawity

«Экспорт OpenSSH ключ» Окна PuTTYgen в делает зашифровать ключ 3DES-CBC. Если кодовая фраза не пуста, выходной файл говорит так:

----- НАЧАТЬ RSA ЧАСТНЫЙ КЛЮЧ ----- Proc-Type: 4, зашифрованный DEK-Info: DES-EDE3-CBC, 157A04D5AE43F45B  NiGUXnTOhATzg4dGvyXs8rzetF7KpplJJIKrZvQunXuVcZhVS + NTpnTgwJb + zOCm ... 

Я проверял это на разных версиях за последние 4 года. Если пароль пуст, я даже получаю «Вы уверены?» незамедлительный.

Linux puttygenтакже всегда использует одну и ту же фразу-пароль при конвертации.


Для ключей RSA и DSA OpenSSH использует тот же формат «сырых» ключей, что и OpenSSL. Поэтому, если 3DES-CBC недостаточно, вы можете использовать opensslинструмент командной строки для их повторного шифрования:

openssl rsa -aes-128-cbc < old.key > new.key 

В Unix, конечно, ssh-keygenлучше OpenSSH :

ssh-keygen -p -f old.key 
Так что странная вещь в том, что если я экспортирую ключ, скопирую его на машину Centos и сделаю ssh-add, он запрашивает ключевую фразу, а когда я его вставляю, он говорит, что он неверен. Если я нажимаю клавишу ввода, когда он запрашивает меня, он завершает работу без комментариев - что я воспринимаю как запись без пароля. Через ssh-add -l я вижу, что ключи не были загружены. Так почему пароль моего ключа не работает? B T 9 лет назад 0
Важны ли пробелы до или после частей «начало / конец закрытого ключа RSA»? То, как я создал свой ключ, было просто вставить его в нано. B T 9 лет назад 0
@BT: да; Вы можете иметь пустые строки и прочее вокруг всего ключа, но не внутри ключа. grawity 9 лет назад 0
Хм, так я и думал. Очень странно.. B T 9 лет назад 0
@BT В частности, все разрывы строк в блоке от dash-BEGIN до dash-END должны оставаться неизменными, включая ровно одну пустую строку между DEK-Info и первым base64. Есть ли `openssl RSA? dave_thompson_085 9 лет назад 0