Я пытаюсь создать пару открытого / закрытого ключей с помощью 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
. Просто сгенерируйте ключ как обычно.