Linux / Befehl ssh-keygen: SSH-Schlüssel erzeugen und Fingerabdrücke überprüfen
ssh-keygen erstellt Schlüsselpaare aus einem privaten und einem öffentlichen Schlüssel für die SSH-Authentifizierung und kann deren Fingerabdrücke anzeigen. Bewahren Sie den privaten Schlüssel sicher auf Ihrem Computer auf; registrieren Sie nur den öffentlichen Schlüssel auf dem Server.
Bei der Authentifizierung mit öffentlichen Schlüsseln signiert der private Schlüssel eine Herausforderung, und der Server überprüft die Signatur mit dem registrierten öffentlichen Schlüssel. Ein typisches Schlüsselpaar heißt id_ed25519 und id_ed25519.pub; das Suffix .pub identifiziert die Datei des öffentlichen Schlüssels. Ein Fingerabdruck ist ein kurzer Identifikator für einen Schlüssel. Eine beim Erstellen gesetzte Passphrase verschlüsselt die private Schlüsseldatei und erschwert deren Nutzung bei einer Offenlegung.
Grundlegende Syntax
ssh-keygen [option]
Implementierungen und Optionen können je nach Distribution variieren. Prüfen Sie die Dokumentation Ihres Systems mit man ssh-keygen.
Beispiele
Erstellen eines Ed25519-Schlüsselpaars
Geben Sie einen neuen Dateinamen an und legen Sie ein Passwort fest, um ein Überschreiben vorhandener Schlüssel zu vermeiden.
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_work -C 'user@example.com'
Überprüfung des Fingerabdrucks des öffentlichen Schlüssels
Vergleichen Sie, um sicherzustellen, dass der auf dem Server registrierte Schlüssel der beabsichtigte Schlüssel ist.
ssh-keygen -lf ~/.ssh/id_ed25519_work.pub
Öffentlichen Schlüssel aus privatem Schlüssel regenerieren
Gibt den öffentlichen Schlüssel aus, ohne den privaten Schlüssel nach außen preiszugeben, wenn die Datei des öffentlichen Schlüssels verloren geht.
ssh-keygen -y -f ~/.ssh/id_ed25519_work
Überprüfung des Fingerabdrucks eines erzeugten Schlüssels
Nach dem Erstellen eines Schlüssels können Sie den Fingerabdruck der Datei des öffentlichen Schlüssels überprüfen, um zu bestätigen, dass es sich um den richtigen Schlüssel handelt, den Sie auf dem Server registrieren möchten. Jeder Schlüssel hat einen einzigartigen tatsächlichen Fingerabdruck.
ssh-keygen -lf ~/.ssh/id_ed25519_work.pub
Beispiel für das Ausgabeformat (Fingerabdruckwerte zur Veranschaulichung weggelassen):
256 SHA256:... user@example.com (ED25519)
Die vorangehende 256 gibt die Schlüssellänge an, und der Wert in Klammern ist der Schlüsseltyp. Wenn Sie einen neuen Schlüssel an einem bestehenden Dateipfad erstellen, kann der vorherige private Schlüssel überschrieben werden, und Sie können möglicherweise nicht auf Server zugreifen, die diesen Schlüssel verwendet haben. Verteilen Sie den öffentlichen Schlüssel nur an Server und laden Sie den privaten Schlüssel nicht per E-Mail, Messenger oder Webformular hoch.
Hauptoptionen und Format
| Optionen/Format | Beschreibung |
|---|---|
-t TYPE |
Gibt den zu erzeugenden Schlüsseltyp an, beispielsweise ed25519. |
-f FILE |
Gibt die Datei an, in der der Schlüssel gespeichert oder aus der er gelesen werden soll. |
-C COMMENT |
Fügt dem öffentlichen Schlüssel einen identifizierenden Kommentar hinzu. |
-l |
Zeigt den Fingerabdruck der Schlüsseldatei an. |
-y |
Gibt den öffentlichen Schlüssel aus dem privaten Schlüssel aus. |
-p |
Ändert das Passwort eines bestehenden privaten Schlüssels. |
Vorsichtsmaßnahmen bei der Verwendung
Wenn Sie den bestehenden Schlüsselpfad wiederverwenden, können Sie sich möglicherweise nicht bei Servern anmelden, die den alten öffentlichen Schlüssel verwendet haben. Prüfen Sie vor dem Erstellen, ob die Datei existiert, und lesen Sie die Überschreibungswarnung. Laden Sie keine privaten Schlüssel in E-Mails, Messenger oder Webseiten hoch und verwalten Sie Berechtigungen und Sicherungen. Wenn Sie die Passphrase verlieren, können Sie den Schlüssel normalerweise nicht wiederherstellen, sodass ein neues Schlüsselpaar ausgestellt und der öffentliche Schlüssel des Servers ersetzt werden muss.
Häufig gestellte Fragen
Welche Dateien sollten auf den Server kopiert werden?
Registrieren Sie nur den öffentlichen Schlüssel, in der Regel die Datei mit der Erweiterung .pub. Bewahren Sie den privaten Schlüssel lokal auf.
Offizielle Dokumentation
Für das genaue Verhalten der Optionen lesen Sie das OpenSSH ssh-keygen Handbuch.




