Преобразование формата закрытого ключа OpenSSH ED25519 в формат PEM

Я создал пару ключей SSH ED25519, используя

ssh-keygen -t ed25519

Вывод файла id_ed25519 в формате OpenSSH:

-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----

Я хотел бы преобразовать его в формат файла PEM. Если бы это была пара ключей RSA, в этом не было бы необходимости, поскольку ключ RSA id_rsa уже находится в формате файла PEM, а пара ключей ED25519 — это формат OpenSSH.

Как я могу преобразовать это в формат файла PEM?


person Ferit    schedule 04.12.2020    source источник
comment
Вы нашли решение?   -  person Sune Kjærgård    schedule 19.03.2021
comment
К сожалению нет.   -  person Ferit    schedule 05.04.2021


Ответы (1)


Я думаю, это сработает:

openssl pkey -in ed25519.pem -out ed25519.pub -pubout

Это делается для закрытого ключа, сгенерированного таким образом:

openssl genpkey -algorithm ed25519 > ed25519.pem

Я не тестировал формат закрытого ключа ssh-keygen явно, но могу предположить, что он использует OpenSSL под капотом. Если base64 закрытого ключа начинается с MC, то я бы сказал, что он, вероятно, будет совместим.

person ZiggyTheHamster    schedule 07.04.2021
comment
Это не отвечает на вопрос. Похоже, что ОП ищет способ преобразовать ssh-ключ ed25519 в формат pem. Большинство ключей ssh ​​по умолчанию являются ключами PEM iirc, но не ключами ssh ed25519. - person nrdxp; 29.05.2021