Hallo,
ich möchte jemand anderem für Tests Zugang zu einem Rechner geben.
Die andere Person hat einen GPG Public Key. Und so kommt die Frage auf, ob bzw. wie ich diesen "verbiegen" kann, so daß er sich per ssh und mit Hilfe seines privaten Keys auf meinem Rechner einloggen kann.
Hat irgend jemand eine Idee? (Die Antwort: "Schicke ihm doch besser GPG-verschlüsselt das Passwort!", kenne ich selber :-) )
Bernhard
On Fri, Sep 12, 2014 at 08:35:11PM +0200, Bernhard Schiffner wrote:
Hallo,
ich möchte jemand anderem für Tests Zugang zu einem Rechner geben.
Die andere Person hat einen GPG Public Key. Und so kommt die Frage auf, ob bzw. wie ich diesen "verbiegen" kann, so daß er sich per ssh und mit Hilfe seines privaten Keys auf meinem Rechner einloggen kann.
Den Schlüssel in
.ssh/authorized_keys
eintragen bzw.
http://www.schlittermann.de/doc/ssh
lesen :-)
Friedrich
Am Freitag, 12. September 2014, 20:41:50 schrieb Friedrich Hagedorn:
On Fri, Sep 12, 2014 at 08:35:11PM +0200, Bernhard Schiffner wrote:
Hallo,
ich möchte jemand anderem für Tests Zugang zu einem Rechner geben.
Die andere Person hat einen GPG Public Key. Und so kommt die Frage auf, ob bzw. wie ich diesen "verbiegen" kann, so daß er sich per ssh und mit Hilfe seines privaten Keys auf meinem Rechner einloggen kann.
Den Schlüssel in
.ssh/authorized_keys
eintragen bzw.
http://www.schlittermann.de/doc/ssh
lesen :-)
Friedrich
Bei mir fängt ein ~/.ssh/authorized_keys z.B. mit "ssh-rsa ..." an. Der öffentliche GPG-Schlüssel von mir (Friedrich, Du könntest Dir ja mal einen zulegen ...) dagegen mit
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: SKS 1.1.4 Comment: Hostname: pgp.mit.edu
mQENBEy....
Klappt das trotzdem oder muß man noch irgendwelche Umformungen vornehmen?
Bernhard
Hi Bernhard,
On Fri 12.09.2014 20:35:11, Bernhard Schiffner wrote:
ich möchte jemand anderem für Tests Zugang zu einem Rechner geben.
Die andere Person hat einen GPG Public Key. Und so kommt die Frage auf, ob bzw. wie ich diesen "verbiegen" kann, so daß er sich per ssh und mit Hilfe seines privaten Keys auf meinem Rechner einloggen kann.
es sieht so aus, als hätte jemand für genau den Fall schon eine nette Sammlungs geschrieben:
http://www.sysmic.org/dotclear/index.php?post/2010/03/24/Convert-keys-betwee...
Hat irgend jemand eine Idee? (Die Antwort: "Schicke ihm doch besser GPG-verschlüsselt das Passwort!", kenne ich selber :-) )
Ich würde allerding wohl trotzdem denjenigen bitten, sich einen SSH-Key zu erstellen und den Public-Teil via GPG-signierter Mail an dich zu versenden.
Ich würde mich über einen Bericht über den Erfolg oder Misserfolg freuen.
Grüße, Andre
On Fri 12.09.2014 20:52:43, Andre Klärner wrote:
Hi Bernhard,
On Fri 12.09.2014 20:35:11, Bernhard Schiffner wrote:
Die andere Person hat einen GPG Public Key. Und so kommt die Frage auf, ob bzw. wie ich diesen "verbiegen" kann, so daß er sich per ssh und mit Hilfe seines privaten Keys auf meinem Rechner einloggen kann.
es sieht so aus, als hätte jemand für genau den Fall schon eine nette Sammlungs geschrieben:
http://www.sysmic.org/dotclear/index.php?post/2010/03/24/Convert-keys-betwee...
Unten auf der Seite wurde http://web.monkeysphere.info/ verlinkt. Das enthält openpgp2ssh, mit dem du aus dem GPG-Public-Key einen ssh-kompatiblen Eintrag erstellen kannst:
# gpg --export D74B35FD |openpgp2ssh D74B35FD
Das ist für dich soweit ganz gut, aber dein Gegenüber muss zumindest ein vorrübergehendes Risiko eingehen, wenn er sonst seinen GPG-Key verschlüsselt gespeichert hat.
# gpg --export-secret-keys D74B35FD | openpgp2ssh D74B35FD
Funktioniert zwar, aber openpgp2ssh mag keine verschlüsselten GPG-Keys. Daher muss man vorher mit
# gpg --edit-key D74B35FD gpg> passwd Schlüssel ist geschützt.
Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren. Benutzer: "Andre Klärner kandre@ak-online.be" 4096-Bit RSA Schlüssel, ID D74B35FD, erzeugt 2011-08-10
Geben Sie die Passphrase ein:
den Key entsichern, dann kann man ihn wie oben exportieren und konvertieren, um dann den GPG-Key UND den entstandenen SSH-Key wieder mit Passphrase zu sichern.
Alles vllt. ein wenig viel Aufwand, wenn auch technisch sehr interessant.
monkeysphere gibt es übrigens auch schon als Debian-Paket, auch wenn das etwas mehr installiert als man für diesen Fall braucht.
Gruße, Andre
Am Freitag, 12. September 2014, 21:29:16 schrieb Andre Klärner:
On Fri 12.09.2014 20:52:43, Andre Klärner wrote:
Hi Bernhard,
On Fri 12.09.2014 20:35:11, Bernhard Schiffner wrote:
Die andere Person hat einen GPG Public Key. Und so kommt die Frage auf, ob bzw. wie ich diesen "verbiegen" kann, so daß er sich per ssh und mit Hilfe seines privaten Keys auf meinem Rechner einloggen kann.
es sieht so aus, als hätte jemand für genau den Fall schon eine nette Sammlungs geschrieben:
http://www.sysmic.org/dotclear/index.php?post/2010/03/24/Convert-keys-betw eens-GnuPG%2C-OpenSsh-and-OpenSSL
Unten auf der Seite wurde http://web.monkeysphere.info/ verlinkt. Das enthält openpgp2ssh, mit dem du aus dem GPG-Public-Key einen ssh-kompatiblen Eintrag erstellen kannst:
# gpg --export D74B35FD |openpgp2ssh D74B35FD
Das ist für dich soweit ganz gut, aber dein Gegenüber muss zumindest ein vorrübergehendes Risiko eingehen, wenn er sonst seinen GPG-Key verschlüsselt gespeichert hat.
# gpg --export-secret-keys D74B35FD | openpgp2ssh D74B35FD
Funktioniert zwar, aber openpgp2ssh mag keine verschlüsselten GPG-Keys. Daher muss man vorher mit
# gpg --edit-key D74B35FD gpg> passwd Schlüssel ist geschützt.
Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren. Benutzer: "Andre Klärner kandre@ak-online.be" 4096-Bit RSA Schlüssel, ID D74B35FD, erzeugt 2011-08-10
Geben Sie die Passphrase ein:
den Key entsichern, dann kann man ihn wie oben exportieren und konvertieren, um dann den GPG-Key UND den entstandenen SSH-Key wieder mit Passphrase zu sichern.
Alles vllt. ein wenig viel Aufwand, wenn auch technisch sehr interessant.
monkeysphere gibt es übrigens auch schon als Debian-Paket, auch wenn das etwas mehr installiert als man für diesen Fall braucht.
Gruße, Andre
Klingt vernünftig. Das probier ich mal. (Später, Rückmeldung kommt aber)
Danke für die Tips!
Bernhard
Andre Klärner kandre@ak-online.be (Fr 12 Sep 2014 21:29:16 CEST): …
# gpg --export D74B35FD |openpgp2ssh D74B35FD
Das ist für dich soweit ganz gut, aber dein Gegenüber muss zumindest ein vorrübergehendes Risiko eingehen, wenn er sonst seinen GPG-Key verschlüsselt gespeichert hat.
# gpg --export-secret-keys D74B35FD | openpgp2ssh D74B35FD
Nee, der möchte den private Key niemals nie exportieren. Geht bei einem GPG-Stick z.B. auch nicht. Aber der kann, wie in meiner anderen Mail beschrieben, "gpg-agent --enable-ssh-support" verwenden.
Moin Heiko,
On Sat 13.09.2014 13:10:24, Heiko Schlittermann wrote:
Andre Klärner kandre@ak-online.be (Fr 12 Sep 2014 21:29:16 CEST): …
# gpg --export D74B35FD |openpgp2ssh D74B35FD
Das ist für dich soweit ganz gut, aber dein Gegenüber muss zumindest ein vorrübergehendes Risiko eingehen, wenn er sonst seinen GPG-Key verschlüsselt gespeichert hat.
# gpg --export-secret-keys D74B35FD | openpgp2ssh D74B35FD
Nee, der möchte den private Key niemals nie exportieren. Geht bei einem GPG-Stick z.B. auch nicht. Aber der kann, wie in meiner anderen Mail beschrieben, "gpg-agent --enable-ssh-support" verwenden.
Wirklich wollen ist die Frage - deswegen bin ich auch der Ansicht, dass ein Wegwerf-SSH-Key frisch generiert die bessere Wahl ist.
Ich hab mal versucht hinter gpg-agent mit SSH zu kommen, aber nach allem was man findet ist der SSH-Support nur die Möglichkeit, deine SSH-Keys statt mit ssh-agent im RAM zu puffern direkt mit in den GPG-Agent zu übernehmen. Klingt für mich nicht danach, dass er auch GPG-Keys als SSH-Key anbietet. Ein ssh-add -l mit vorher gestartetem gpg-agent --enable-ssh-support liefert übrigens keinen einzigen Key, und im Package gpg-agent ist auch kein Utility dabei, dass einem "ssh-add D74B35FD" entsprechen würde.
Grüße, Andre
Am Sonntag, 14. September 2014, 18:17:08 schrieb Andre Klärner: ...
Wirklich wollen ist die Frage - deswegen bin ich auch der Ansicht, dass ein Wegwerf-SSH-Key frisch generiert die bessere Wahl ist.
Ja, ich bin hier der Trottel.
Ich bin von der Schwierigkeit eines Austausch von (ungesplitteten) Schlüsseln ausgegangen und habe gedacht, daß man es seinem Gegenüber einfach macht, indem man für seinen Zugriff auf mein System seinen öffentlichen Schlüssel verwendet.
Natürlich geht das für irgendeinen öffentlichen ssh Schlüssel genauso. Und damit bleibt es im "System ssh". Ich muß also nicht die Passphrasensicherung aufheben, Umwandlungen vornehmen, das ganze an Orten speichern wo ich's vergesse etc.
... und im Package gpg-agent ist auch kein Utility dabei, dass einem "ssh-add D74B35FD" entsprechen würde.
Das wäre aber vielleicht ein Gedanke für die Zukunft.
Grüße, Andre
Bernhard
Andre Klärner kandre@ak-online.be (So 14 Sep 2014 18:17:08 CEST): …
Ich hab mal versucht hinter gpg-agent mit SSH zu kommen, aber nach allem was man findet ist der SSH-Support nur die Möglichkeit, deine SSH-Keys statt mit ssh-agent im RAM zu puffern direkt mit in den GPG-Agent zu übernehmen. Klingt für mich nicht danach, dass er auch GPG-Keys als SSH-Key anbietet. Ein ssh-add -l mit vorher gestartetem gpg-agent --enable-ssh-support liefert übrigens keinen einzigen Key, und im Package gpg-agent ist auch kein Utility dabei, dass einem "ssh-add D74B35FD" entsprechen würde.
Sieht so aus, als wenn das nur gemeinsam mit dem GnuPG-Stick funktionert. Mit einem private Key, dessen privater Teil in meinem secring steckt, habe ich das auch nicht hinbekommen.
Bernhard Schiffner bernhard@schiffner-limbach.de (Fr 12 Sep 2014 20:35:11 CEST):
Hallo,
ich möchte jemand anderem für Tests Zugang zu einem Rechner geben.
Die andere Person hat einen GPG Public Key. Und so kommt die Frage auf, ob bzw. wie ich diesen "verbiegen" kann, so daß er sich per ssh und mit Hilfe seines privaten Keys auf meinem Rechner einloggen kann.
gpgkey2ssh 7CBF764A >> .ssh/authorized_keys
Und dann bleibt die Frage, was er auf seiner Seite tun muss, damit der ssh-client das mit gpg klärt…
Bei mir geht das mit gpg-agent --enable-ssh-support. Dafür habe ich dann noch ein .gnupg/sshcontrol File. Aber ich glaube, das wird nur verwendet, wenn der gpg-agent „echte“ SSH-Key verwalten soll.
Hallo,
On Friday 12 September 2014 20:35:11 Bernhard Schiffner wrote:
ich möchte jemand anderem für Tests Zugang zu einem Rechner geben.
Die andere Person hat einen GPG Public Key.
Lass ihn einen SSH-Key erzeugen und Dir eine signierte Mail mit dem Public- Teil schicken (oder eine signierte Datei oder so). Punkt.
Und so kommt die Frage auf, ob bzw. wie ich diesen "verbiegen" kann, so daß er sich per ssh und mit Hilfe seines privaten Keys auf meinem Rechner einloggen kann.
Bitte mach das nicht!
Es gab ja eine Menge Ideen. Ich persönlich finde es unverantwortlich dass es Anleitungen dafür gibt!
Einer der Grundsätze der Public-Key-Cryptographie: benutze einen Schlüssel immer nur für einen speziellen Zweck!
Wenn man das nicht beachtet wird man gegen bestimmte Formen von Angriffen verwundbar (z.B. chosen plaintext attack). Deswegen hat ein einigermaßen aktueller GPG-Key auch zwei kryptographische Schlüssel - einen zum signieren (meistens DSA) und einen zum Verschlüsseln (meistens ElGamal oder RSA).
Das mindeste ist dass man Schlüsselmaterial zwischen Applikationen und (Crypto-)Protokollen trennt: SSH ist was ganz anderes als GPG, ist was anderes als Webserver, ist was anderes als Plattenverschlüsselung, etc. -- Du würdest sicherlich auch nicht Wasserkocher und Lötkolben im selben Regal lagern, nur weil beide Strom verwenden - oder?
Konrad
lug-dd@mailman.schlittermann.de