Was ist ein öffentlicher SSH-Schlüssel?

Ein öffentlicher SSH-Schlüssel ist eine Hälfte eines kryptografischen Schlüsselpaares, das zur sicheren Authentifizierung über das SSH (Secure Shell)-Protokoll verwendet wird. Wenn Sie ein SSH-Schlüsselpaar generieren, erhalten Sie einen privaten Schlüssel (der geheim auf Ihrem Rechner gespeichert wird) und einen öffentlichen Schlüssel (der mit Servern geteilt wird, auf die Sie zugreifen möchten). Der Server verwendet Ihren öffentlichen Schlüssel, um Ihre Identität zu verifizieren, ohne ein Passwort zu übertragen.

Öffentliche SSH-Schlüssel werden als einzelne Textzeile im OpenSSH-Format gespeichert und bestehen aus drei Teilen: dem Schlüsseltyp (wie ssh-rsa oder ssh-ed25519), den Base64-kodierten Schlüsseldaten und einem optionalen Kommentar (üblicherweise user@hostname). In den Base64-Daten sind strukturierte Binärinformationen eingebettet, einschließlich der Algorithmusparameter und des eigentlichen kryptografischen Materials.

Fingerprints sind kurze, lesbare Hashes der Schlüsseldaten. Sie erleichtern die Überprüfung und den Vergleich von Schlüsseln, ohne die vollständige Base64-Zeichenkette lesen zu müssen. Die zwei gebräuchlichsten Fingerprint-Formate sind SHA-256 (der moderne Standard) und MD5 (das ältere Format mit durch Doppelpunkte getrennten Hex-Paaren).

Beschreibung des Tools

Dieses Tool analysiert öffentliche SSH-Schlüssel im OpenSSH-Format und extrahiert alle wichtigen Metadaten. Fügen Sie Ihren öffentlichen Schlüssel ein und sehen Sie sofort den Schlüsseltyp, den Algorithmus, die Schlüsselgröße in Bits, den Kommentar sowie die SHA-256- und MD5-Fingerprints — entsprechend der Ausgabe von ssh-keygen -l.

Beispiele

Eingabe:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@laptop

Ausgabe:

Feld Wert
Schlüsseltyp ssh-ed25519
Algorithmus Ed25519
Schlüsselgröße 256 Bits
Kommentar user@laptop
Fingerprint SHA-256 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8
Fingerprint MD5 MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48

Funktionen

  • Unterstützt RSA, Ed25519, ECDSA (P-256, P-384, P-521), DSA sowie Security Key (FIDO)-Schlüsseltypen
  • Berechnet SHA-256- und MD5-Fingerprints im standardmäßigen OpenSSH-Format
  • Extrahiert die Schlüsselgröße in Bits direkt aus den binären Schlüsseldaten
  • Validiert die Schlüsselstruktur einschließlich Base64-Integrität und Konsistenz des eingebetteten Typs
  • Analysiert das optionale Kommentarfeld aus der öffentlichen Schlüsselzeile

Funktionsweise

Das Tool teilt die Eingabe in drei Teile auf: Schlüsseltyp, Base64-Daten und Kommentar. Anschließend dekodiert es die Base64-Daten in Binärform und liest die interne Struktur mithilfe des SSH-eigenen längenbasierten Formats, bei dem jedes Feld mit einer 4-Byte-Big-Endian-Längenangabe beginnt, gefolgt von den Felddaten. Die Schlüsselgröße wird anhand der algorithmusspezifischen Parameter bestimmt — bei RSA ist es die Bitlänge des Modulus n, bei DSA die Primzahl p und bei Elliptische-Kurven-Schlüsseln wird sie aus dem Kurvenname abgeleitet. Fingerprints werden berechnet, indem die rohen binären Schlüsseldaten mit SHA-256 und MD5 gehasht werden.

Unterstützte Schlüsseltypen

Typbezeichner Algorithmus
ssh-rsa RSA
ssh-ed25519 Ed25519
ecdsa-sha2-nistp256 ECDSA (P-256)
ecdsa-sha2-nistp384 ECDSA (P-384)
ecdsa-sha2-nistp521 ECDSA (P-521)
ssh-dss DSA
sk-ssh-ed25519@openssh.com Ed25519-SK (Security Key)
sk-ecdsa-sha2-nistp256@openssh.com ECDSA-SK (Security Key)

Anwendungsfälle

  • Fingerprints von Schlüsseln überprüfen — Bestätigen Sie, dass ein öffentlicher Schlüssel mit dem erwarteten Fingerprint übereinstimmt, bevor Sie ihn zu authorized_keys oder einem Git-Hosting-Dienst hinzufügen
  • Serverzugriffe prüfen — Identifizieren Sie schnell den Algorithmus und die Schlüsselgröße der Schlüssel in Ihrer authorized_keys-Datei, um schwache oder veraltete Schlüssel zu finden
  • SSH-Probleme debuggen — Prüfen Sie, ob ein Schlüssel das richtige Format hat, den erwarteten Algorithmus verwendet und eine gültige Struktur besitzt

FAQ

Wo finde ich meinen öffentlichen SSH-Schlüssel? Auf den meisten Systemen ist er unter ~/.ssh/id_ed25519.pub, ~/.ssh/id_rsa.pub oder einem ähnlichen Pfad gespeichert, je nach verwendetem Algorithmus. Sie können auch ssh-add -L ausführen, um die in Ihrem SSH-Agenten geladenen Schlüssel aufzulisten.

Ist es sicher, meinen öffentlichen Schlüssel zu teilen? Ja. Der öffentliche Schlüssel ist dafür ausgelegt, geteilt zu werden. Er kann nicht dazu verwendet werden, den privaten Schlüssel abzuleiten oder sich in Ihrem Namen zu authentifizieren.

Warum sehen SHA-256- und MD5-Fingerprints unterschiedlich aus? SHA-256-Fingerprints sind Base64-kodiert und mit SHA256: präfixiert, während MD5-Fingerprints durch Doppelpunkte getrennte Hexadezimalpaare mit dem Präfix MD5: verwenden. SHA-256 ist der Standard in modernen OpenSSH-Versionen.