Как формат ssh-keygen .pub работает с файлами .pem?


17

Команда ssh-keygenгенерирует .pubфайлы, которые она описывает как «файлы с открытым ключом», но они имеют совершенно иной формат, чем большинство «файлов с открытым ключом», которые я обычно видел, в формате PEM. В ssh-keygen-Style файлы выглядеть следующим образом :

ssh-rsa AAAAB3NzaC1... user@host

... тогда как файлы PEM выглядят так:

-----BEGIN CERTIFICATE-----
MIIGZjCCBU6gAwIBAgIDCIrNMA0GCSqGSIb3DQEBBQUAMIGMMQsw...
-----END CERTIFICATE-----

Являются ли эти два формата взаимозаменяемыми или они выполняют принципиально разные цели? Я столкнулся с этой проблемой, потому что хотел получить отпечаток ключа RSA2 моего файла открытого ключа в кодировке PEM, но метод, обычно предлагаемый для этого ( ssh-keygen -l), говорит, что мой файл в кодировке PEM «не является файлом открытого ключа».

Кстати, я знаю об этом ответе , но он не охватывает файлы .pub, сгенерированные ssh-keygen.


1
Что ж, открытый ключ SSH - это не то же самое, что сертификат в формате PEM. Вы смотрели на это? serverfault.com/questions/114301/…
cjc 28.12.12

2
Здесь важно учитывать, что вы, вероятно, смотрите на OpenSSH, а не на менее распространенный SSH.COM или другие реализации. Стандартный открытый ключ, закодированный в PEM, действительно действителен для некоторых менее распространенных реализаций. Я знаю, что окно VMS, к которому я подключаюсь, требует файл PEM.
Zoredache

@cjc, верно, это не сертификат, но он также не то же самое, что вы получаете, запустив openssl rsa -in privatekey_rsa -pubout, который на самом деле является открытым ключом, а не сертификатом.
Zoredache

Ответы:


8

Пары ключей OpenSSH не являются PEM или любым другим стандартом x500. В новых версиях OpenSSH могут использоваться PEM-ключи X.509, но это еще один шарик воска, отдельный от ssh-keygen, и его необходимо настроить явно. Насколько я знаю, ни одна крупная реализация SSH не использует те же форматы ключей, что и любые другие.

Как отмечает Zoredache , если вы используете что-то отличное от OpenSSH (deus iuvo vos), то это может быть чертовски близко ко всему.


1
Да, действительно, я перепутал SSH и SSL! Мой демон OpenSSH фактически использовал .pubфайл на моем сервере /etc/ssh/ssh_host_rsa_key.pubи не использовал архитектуру центра сертификации SSL. Когда я запустил ssh-keygen -lэтот файл, он дал мне отпечаток ключа RSA2 на сервере.
Jez
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.