Zum Inhalt springen

SSH: Wieder was gelernt…

auch nach ~20 Jahren:

Aus `ssh-add -l` und `authorized_keys` kennen wir die Angabe des User und Hostnames des Systems, auf dem wir den Key erzeugt haben. Sofern wir natürlich nicht explizit mit `-C` eine andere Angabe gemacht haben.

➜  ~ ssh-keygen -t ed25519 -f /tmp/id_foo
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /tmp/id_foo.
Your public key has been saved in /tmp/id_foo.pub.
The key fingerprint is:
SHA256:8w9ubmVR5pOzIsgIyUBYTBS8Sg3oXX7/Hg/jINK58Ac [email protected]
The key's randomart image is:
+--[ED25519 256]--+
|.O*.             |
|o.+  .        o  |
|. ++o.       + . |
| o.o+. .    . =  |
|..   ..oS.   . + |
|.     oE++. + .  |
|     o +..+B .   |
|      + oo=+=    |
|       o.++o..   |
+----[SHA256]-----+

Später verteilen wir den public key auf andere Systeme oder machen ihn auf GitHub public: Die public keys jedes Users sind offen abrufbar nach dem Schema “https://github.com/<username>.keys”, in meinem Falle also: https://github.com/rmoriz.keys

Bisher dachte ich, dass der comment nur einmalig beim Erzeugen in den public key als Kommentar geschrieben wird und danach keine Rolle mehr spielt, er kann schliesslich gelöscht oder verändert werden ohne Funktionseinschränkung.

Das stimmt jedoch nicht. Der Kommentar spielt technisch zwar keine Rolle, er bleibt aber dauerhaft auch im private key stehen und wird so z.B. auch vom ssh-agent verwendet.

Ich habe jetzt nicht weiter recherchiert, aber in den alten DSA/ECDSA-Zeiten war der Kommentar als Metadatum glaube ich nicht Bestandteil des private keys. Das begann mit RSA und ist auch bei den modernen, empfehlenswerten ed25519-Keys so.

Man muss also den Kommentar explizit setzen oder später manuell ändern:

 ➜  ~ ssh-keygen -c -f /tmp/id_foo
Key now has comment '[email protected]'
Enter new comment: [email protected]
The comment in your key file has been changed.

(Aus Infosec/IT-forensischer Sicht könnte man eventuell durch einen erlangten, ungeschützten private key einen bisher nicht bekannten Username oder Host ermitteln…)

Sei der Erste der einen Kommentar abgibt

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.