SSH-Schlüssel-Parser
Parsen und analysieren Sie öffentliche SSH-Schlüssel. Extrahieren Sie Schlüsseltyp, Algorithmus, Schlüsselgröße, Fingerabdrücke (SHA-256, MD5) und Kommentare aus öffentlichen OpenSSH-Schlüsseln.
Eingabe
Ausgabe
Readme
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@laptopAusgabe:
| 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_keysoder 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.