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

Генерация ssh-ключей не создает ключ в формате PKCS1

Я пытаюсь создать пару открытого / закрытого ключей с помощью ssh-keygen. Мне нужно, чтобы ключ был в формате PKCS1, чтобы в нем было указано «БЫТЬ ЧАСТНЫМ КЛЮЧОМ RSA». Независимо от того, что я пытаюсь, кажется, создается только в формате PKCS8. Есть мысли о том, в чем может быть проблема?

Я выполняю следующую команду:

 ssh-keygen -m PEM -t rsa -b 2048

Насколько я понимаю, указание формата -m PEM должно создать его в формате PKCS1. Я ожидаю, что в заголовке ключа будет указано

-----BEGIN RSA PRIVATE KEY-----

но вместо этого говорится

-----BEGIN PRIVATE KEY-----

Это наводит меня на мысль, что это в формате PKCS8. Есть мысли, как это исправить? Я использую openssh версии 7.4p1.

Убедитесь, что ваш ssh-keygen поддерживает -m и попробуйте использовать значение формата в нижнем регистре, например -m pem.

Например,

$ ssh-keygen -b 2048 -t rsa -m pem -f /tmp/pem_rsa -N "" 2>/dev/null 1>/dev/null && head -n2 /tmp/pem_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA1WLQy9mF43mVJTaTJq8e/aGs5HNMxHYx2wFra5tdMfEk3Li7

$ ssh-keygen -b 2048 -t rsa -m pkcs8 -f /tmp/pkcs8_rsa -N "" 2>/dev/null 1>/dev/null && head -n2 /tmp/pkcs8_rsa
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDLX2+JYL4Rf+JT

Прекратите использовать опцию -m PEM. Просто сгенерируйте ключ как обычно.