it-swarm.com.de

ssh-keygen erstellt keinen privaten RSA-Schlüssel

Ich versuche, einen privaten Schlüssel zu erstellen und habe ein Problem.

Wenn ich ssh-keygen -t rsa -b 4096 -C "[email protected]" Verwende, erhalte ich einen privaten Schlüssel im folgenden Format.

-----BEGIN OPENSSH PRIVATE KEY-----
uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END OPENSSH PRIVATE KEY-----

Und dies wird für eine Anwendung, die ich verwenden möchte, nicht akzeptiert.

Ich erwarte einen Schlüssel im folgenden RSA-Format.

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,25737CC2C70BFABADB1B4598BD8AB9E9

uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END RSA PRIVATE KEY-----

Wie erstelle ich das richtige Format? Das ist komisch, weil jeder andere Mac, den ich habe, das richtige Format erstellt, außer dem, mit dem ich Probleme habe.

Ich bin auf einem neu installierten Mac OS Mojave

91
Moon

Ich hatte kürzlich das gleiche Problem (nach dem Upgrade auf Mojave 10.14.1). Hier sind zwei mögliche Lösungen für dieses Problem.

  • Downgrade Ihrer ssh-keygen-Binärdatei (Sie können problemlos eine alte Version von jedem Linux-/Docker-Image herunterladen)

[~ # ~] oder [~ # ~]

  • Fügen Sie Ihrem Befehl ssh-keygen die Option -m PEM Hinzu. Sie können beispielsweise ssh-keygen -m PEM -t rsa -b 4096 -C "y[email protected]" Ausführen, um zu erzwingen, dass ssh-keygen als PEM -Format exportiert wird.

Es scheint, als ob in der aktuellen ssh-keygen-Version in mojave das Standardexportformat RFC4716 Wie erwähnt hier ist

91
sayboras

Neue Schlüssel mit dem OpenSSH-Format für private Schlüssel können mit dem Dienstprogramm ssh-keygen in das alte PEM-Format konvertiert werden.

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

Es ist kein Downgrade auf älteres OpenSSH erforderlich, um dieses Ergebnis zu erzielen.

76
mydeardiary