Beim Generieren von SSH-Schlüsseln wird kein Schlüssel im PKCS1-Format erstellt

Beim Generieren von SSH-Schlüsseln wird kein Schlüssel im PKCS1-Format erstellt

Ich versuche, mit ssh-keygen ein öffentliches/privates Schlüsselpaar zu erstellen. Der Schlüssel muss im PKCS1-Format vorliegen, sodass er „BEING RSA PRIVATE KEY“ anzeigt. Egal, was ich versuche, es scheint, als ob er nur im PKCS8-Format erstellt wird. Irgendwelche Ideen, was das Problem sein könnte?

Ich führe den folgenden Befehl aus:

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

Nach meinem Verständnis sollte die Angabe des -m PEM-Formats es im PKCS1-Format erstellen. Ich erwarte, dass der Header des Schlüssels Folgendes angibt:

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

sondern stattdessen heißt es

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

Dies lässt mich annehmen, dass es im PKCS8-Format vorliegt. Irgendwelche Ideen, wie man das beheben kann? Ich verwende OpenSSH Version 7.4p1.

Antwort1

Verwenden Sie die Option nicht mehr -m PEM. Generieren Sie den Schlüssel einfach normal.

Antwort2

ssh-keygenStellen Sie sicher , dass Ihr -mFormatwert Kleinbuchstaben unterstützt, z . B. -m pem.

Zum Beispiel,

$ 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

verwandte Informationen