Я пытаюсь создать пару открытого/закрытого ключа с помощью ssh-keygen. Мне нужно, чтобы ключ был в формате PKCS1, чтобы он гласил "BEING RSA PRIVATE KEY". Что бы я ни пытался, он создает только в формате PKCS8. Есть мысли, в чем может быть проблема?
Я запускаю следующую команду:
ssh-keygen -m PEM -t rsa -b 2048
Из моего понимания, указание формата -m PEM должно создать его в формате PKCS1. Я ожидаю заголовок ключа, чтобы указать
-----BEGIN RSA PRIVATE KEY-----
но вместо этого он заявляет
-----BEGIN PRIVATE KEY-----
Это наводит меня на мысль, что он в формате PKCS8. Есть мысли, как это исправить? Я использую openssh версии 7.4p1.
решение1
Прекратите использовать опцию -m PEM
. Просто сгенерируйте ключ обычным образом.
решение2
Убедитесь, что ваш 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