Exportieren Sie den privaten ed25519-Schlüssel aus GnuPG zur Verwendung in SSH

Exportieren Sie den privaten ed25519-Schlüssel aus GnuPG zur Verwendung in SSH

Gibt es eine Möglichkeit, aus einem in GnuPG gespeicherten ed25519-Schlüsselpaar eine id_ed25519-Datei (nicht id_ed25519.pub) zu erstellen?

Ich habe begonnen, meine SSH-Schlüssel in GPG zu verfolgen:

sec   rsa3072 2017-12-12 [C]
      DDD8CEFDE281D48CBBF0C56FE2AA8C94C8A7C456
uid           [ultimate] Dave <[email protected]>
ssb   rsa3072 2017-12-12 [S]
ssb   rsa3072 2017-12-12 [E]
ssb   rsa3072 2017-12-12 [A]
ssb   ed25519 2017-12-12 [A]

Um meine öffentlichen Schlüssel für die Verwendung per SSH zu exportieren, verwende ich die --export-ssh-keyseit 2.1 verfügbare Option in GnuPG. Dies funktioniert sowohl für den RSA- als auch für den ed25519-Schlüssel.

$ gpg -o id_rsa.pub --export-ssh-key 5D61D0F9!
$ gpg -o id_ed25519.pub --export-ssh-key 0A072B72!

(Das ! zwingt GnuPG, den angegebenen Unterschlüssel und nicht den ersten verfügbaren Authentifizierungsschlüssel zu verwenden.)

Zum Exportieren des privaten RSA-Schlüssels habe ich einen Workflow wie diesen verwendet:

$ gpg --export-secret-subkeys \
--export-options export-reset-subkey-passwd 0A072B72! | \
openpgp2ssh 0A072B72 > id_rsa

Dadurch wird ein privater RSA-Schlüssel erstellt, den SSH verstehen kann, jedoch ohne Passphrase.

Um eine Passphrase erneut hinzuzufügen, verwende ich:

$ ssh-keygen -p -f id_rsa

Auf meiner Windows-Arbeitsstation konvertiere ich den Schlüssel mit PuTTYGen in etwas, das PuTTY verstehen kann.

Dies schlägt bei ed25519-Schlüsseln fehl, da openpgp2sshed25519-Schlüssel nicht verarbeitet werden.

Soweit ich weiß, verwenden manche Leute ihre GPG-Schlüsselbunde direkt mit SSH, aber das funktioniert bei mir nicht. Ich brauche den privaten Schlüssel separat, um ihn mit PuTTY unter Windows verwenden zu können.

verwandte Informationen