Ich möchte einen RSA
Key generieren GPG
und diesen beim SSH
Login verwenden. Ist das überhaupt möglich? Wenn das so ist, wie?
edit: see @ wwerner's answer, ich habe es nicht ausprobiert, aber es scheint die aktuelle Lösung zu sein (Stand 2018)
ssh
gnupg
public-key
private-key
destan
quelle
quelle
Ich recherchiere zu diesem Thema und kann Ihnen einige Hinweise geben, aber ich habe noch keinen Weg gefunden, es zum Laufen zu bringen.
Affensphäre
Monkeysphere scheint ein sehr interessantes Projekt zu sein, aber ich konnte es unter Mac OS X nicht kompilieren, ohne meinen kleinen freien Speicherplatz mit MacPorts zu belasten.
Verwendung von gpgkey2ssh
Ich empfehle Ihnen zunächst, einen kompatiblen authorized_keys-Eintrag aus Ihrer Schlüssel-ID (z. B. BFB2E5E3) mit zu generieren
Hier habe ich es meinem localhost hinzugefügt, da ich einen ssh-Server zu Testzwecken ausgeführt habe, aber natürlich sollten Sie dies dem Zielhost hinzufügen
~/.ssh/authorized_keys
. Als nächstes müssen Sie SSH anweisen, den privaten Teil dieses Schlüssels während der Authentifizierung zu verwenden, aber das einfache Exportieren einer ASCII-gepanzerten Version des Schlüsselpaars funktioniert nicht:Gpg-agent verwenden
gpg-agent
hat die Option--enable-ssh-support
, es als Ersatz für das Bekannte zu verwendenssh-agent
. Ich habe von einigen Leuten gelesen, diessh-add
nach dem Start über ihren GPG-Schlüssel versuchen, etwas hinzuzufügengpg-agent
:Aber ich denke nicht, dass das jemals funktionieren wird. Die gpg-agent manpage sagt:
Daher
gpg-agent
sollte dies als zusätzliche Maßnahme zum Schutz Ihrer SSH-Schlüssel mit einer GPG-Verschlüsselung verwendet werden.Konvertieren eines GPG-Schlüssels in OpenSSH
Jérôme Pouiller schreibt in seinem Blog , dass das Dienstprogramm Gpgsm Schlüssel und Zertifikate in PCSC12 exportieren kann. Sie können dann von OpenSSH verwendet werden:
Aber ich habe keine Möglichkeit gefunden
gpgsm
, meine gpg-Schlüsselpaare zu akzeptieren.Andere Dinge, die Sie ausprobieren können
In SSH kann
-I
optional angegeben werden, welche gemeinsam genutzte PKCS # 11-Bibliothekssh
für die Kommunikation mit einem PKCS # 11-Token verwendet werden soll, das den privaten RSA-Schlüssel des Benutzers bereitstellt.ssh-keygen
Mit dem öffentlichen oder privaten RFC4716 / SSH2-Schlüssel, dem öffentlichen PEM PKCS8-Schlüssel und dem öffentlichen PEM-Schlüssel kann mit den Optionen-i
und ein OpenSSH-kompatibler privater (oder öffentlicher) Schlüssel generiert werden-m
.Ich kann immer noch keinen Weg finden, alles zusammenzufügen.
quelle
gpgkey2ssh
durch ersetzt wurde--export-ssh-key
ab Version 2.1.11 (2016.01.26). Ich brauchte eine Weile, um das zu realisieren. Verwendung istgpg --export-ssh-key BFB2E5E3
.Nein, sie sind nicht austauschbar. Ja, es ist möglich, GPG-Schlüssel zur Authentifizierung zu verwenden. Das Monkeysphere- Paket enthält Tools zum Extrahieren des unformatierten RSA-Schlüsselpaars aus Ihrem GPG-Zertifikat.
Ihr GPG-Zertifikat benötigt einen Unterschlüssel mit dem Funktionsflag "Authentifizierung". Führen Sie einmal aus, um einen solchen Unterschlüssel zu erstellen:
Fügen Sie nun Ihre Authentifizierungsunterschlüssel zu ssh-agent hinzu :
Etwas relevant: dieser Gnupg-User-Thread .
quelle
Mit den Informationen aus den Antworten auf diese Frage und der Hilfe der Mailingliste von gnupg-users konnte ich herausfinden, wie ich meinen GPG-Schlüssel für die SSH-Authentifizierung verwenden kann. Wie bereits von Claudio Floreani in seiner Antwort erwähnt, gibt es hierfür einige Möglichkeiten.
Ich habe einen Blogpost über mögliche Lösungen geschrieben: http://budts.be/weblog/2012/08/ssh-authentication-with-your-pgp-key
Zusammenfassend: Entweder Sie verwenden GnuPG 2.1, das sich derzeit in der Beta befindet. Wenn Sie diese Version verwenden, können Sie gpg-agent einfach mit der Option --enable-ssh-support starten und den Keygrip für Ihren GPG-Schlüssel (oder Unterschlüssel) in ~ / .gnupg / sshcontrol einfügen.
Wenn Sie die aktuelle stabile GnuPG-Version (2.0.x) verwenden, können Sie mit monkeysphere Ihren Schlüssel zu gpg-agent hinzufügen (erneut, nachdem Sie gpg-agent mit der Option --enable-ssh-support gestartet haben).
Es ist auch möglich, den GNOME-Schlüsselring (oder sogar den regulären ssh-Agenten) mit Hilfe von monkeysphere zu verwenden. Das einzige Problem in diesem Fall ist, dass Sie Ihren Schlüssel erneut hinzufügen müssen, wenn Sie sich erneut anmelden (in Gnome oder XFCE). Um dies zu lösen, können Sie Ihren Schlüssel manuell exportieren und konvertieren.
quelle