В 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
.
Пары ключей OpenSSH не соответствуют PEM или любому другому стандарту x500. Новые версии OpenSSH могут использовать ключи X.509 PEM, но это еще один шар воска, отдельный от ssh-keygen, и его необходимо явно настроить. Насколько мне известно, ни одна крупная реализация SSH не использует те же самые форматы ключей, что и другие.
Так как Zoredache ноты, если вы используете что-то другое, кроме OpenSSH (deus iuvo vos), то это может быть чертовски близко к чему угодно.