Αναλυτής Κλειδιών SSH
Ανάλυση και επεξεργασία δημόσιων κλειδιών SSH. Εξαγωγή τύπου κλειδιού, αλγορίθμου, μεγέθους κλειδιού, αποτυπωμάτων (SHA-256, MD5) και σχολίων από δημόσια κλειδιά OpenSSH.
Είσοδος
Έξοδος
Readme
Τι είναι ένα δημόσιο κλειδί SSH;
Ένα δημόσιο κλειδί SSH είναι το ένα από τα δύο μέρη ενός κρυπτογραφικού ζεύγους κλειδιών που χρησιμοποιείται για ασφαλή αυθεντικοποίηση μέσω του πρωτοκόλλου SSH (Secure Shell). Όταν δημιουργείτε ένα ζεύγος κλειδιών SSH, λαμβάνετε ένα ιδιωτικό κλειδί (που παραμένει μυστικό στο μηχάνημά σας) και ένα δημόσιο κλειδί (που κοινοποιείται στους διακομιστές στους οποίους θέλετε να έχετε πρόσβαση). Ο διακομιστής χρησιμοποιεί το δημόσιο κλειδί σας για να επαληθεύσει την ταυτότητά σας χωρίς να μεταδίδεται κωδικός πρόσβασης.
Τα δημόσια κλειδιά SSH αποθηκεύονται ως μία γραμμή κειμένου σε μορφή OpenSSH, που περιέχει τρία μέρη: τον τύπο κλειδιού (όπως ssh-rsa ή ssh-ed25519), τα δεδομένα κλειδιού κωδικοποιημένα σε Base64, και ένα προαιρετικό σχόλιο (συνήθως user@hostname). Μέσα στα δεδομένα Base64 είναι ενσωματωμένες δομημένες δυαδικές πληροφορίες που περιλαμβάνουν τις παραμέτρους αλγορίθμου και το πραγματικό κρυπτογραφικό υλικό.
Τα fingerprints είναι σύντομα, αναγνώσιμα από τον άνθρωπο hashes των δεδομένων κλειδιού. Διευκολύνουν την επαλήθευση και σύγκριση κλειδιών χωρίς να χρειάζεται να διαβάσετε ολόκληρο το string Base64. Οι δύο πιο συνηθισμένες μορφές fingerprint είναι SHA-256 (η σύγχρονη προεπιλογή) και MD5 (η παλαιότερη μορφή με ζεύγη hex διαχωρισμένα με άνω-κάτω τελεία).
Περιγραφή εργαλείου
Αυτό το εργαλείο αναλύει δημόσια κλειδιά SSH σε μορφή OpenSSH και εξάγει όλα τα σημαντικά μεταδεδομένα. Επικολλήστε το δημόσιο κλειδί σας και δείτε άμεσα τον τύπο κλειδιού, τον αλγόριθμο, το μέγεθος κλειδιού σε bits, το σχόλιο, καθώς και τα fingerprints SHA-256 και MD5 — αντίστοιχα με την έξοδο που θα λαμβάνατε από την εντολή ssh-keygen -l.
Παραδείγματα
Είσοδος:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@laptopΈξοδος:
| Πεδίο | Τιμή |
|---|---|
| Τύπος κλειδιού | ssh-ed25519 |
| Αλγόριθμος | Ed25519 |
| Μέγεθος κλειδιού | 256 bits |
| Σχόλιο | 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 |
Δυνατότητες
- Υποστηρίζει τύπους κλειδιών RSA, Ed25519, ECDSA (P-256, P-384, P-521), DSA και Security Key (FIDO)
- Υπολογίζει fingerprints SHA-256 και MD5 σε τυπική μορφή OpenSSH
- Εξάγει το μέγεθος κλειδιού σε bits απευθείας από τα δυαδικά δεδομένα κλειδιού
- Επικυρώνει τη δομή κλειδιού, συμπεριλαμβανομένης της ακεραιότητας Base64 και της συνέπειας του ενσωματωμένου τύπου
- Αναλύει το προαιρετικό πεδίο σχολίου από τη γραμμή δημόσιου κλειδιού
Πώς λειτουργεί
Το εργαλείο χωρίζει την είσοδο σε τρία μέρη: τύπο κλειδιού, δεδομένα Base64 και σχόλιο. Στη συνέχεια αποκωδικοποιεί τα δεδομένα Base64 σε δυαδική μορφή και διαβάζει την εσωτερική δομή χρησιμοποιώντας τη μορφή SSH με πρόθεμα μήκους, όπου κάθε πεδίο ξεκινά με ένα μήκος 4 bytes big-endian ακολουθούμενο από τα δεδομένα πεδίου. Το μέγεθος κλειδιού προσδιορίζεται από τις παραμέτρους που είναι ειδικές για κάθε αλγόριθμο — για RSA είναι το μήκος σε bits του modulus n, για DSA είναι ο πρώτος αριθμός p, και για κλειδιά ελλειπτικής καμπύλης προκύπτει από το όνομα της καμπύλης. Τα fingerprints υπολογίζονται με κατακερματισμό των ακατέργαστων δυαδικών δεδομένων κλειδιού με SHA-256 και MD5.
Υποστηριζόμενοι τύποι κλειδιών
| Αναγνωριστικό τύπου | Αλγόριθμος |
|---|---|
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) |
Περιπτώσεις χρήσης
- Επαλήθευση fingerprints κλειδιών — Επιβεβαιώστε ότι ένα δημόσιο κλειδί αντιστοιχεί στο αναμενόμενο fingerprint πριν το προσθέσετε στο
authorized_keysή σε μια υπηρεσία φιλοξενίας Git - Έλεγχος πρόσβασης διακομιστή — Προσδιορίστε γρήγορα τον αλγόριθμο και το μέγεθος κλειδιών στο αρχείο
authorized_keysγια να εντοπίσετε αδύναμα ή παρωχημένα κλειδιά - Αντιμετώπιση προβλημάτων SSH — Ελέγξτε αν ένα κλειδί έχει τη σωστή μορφή, χρησιμοποιεί τον αναμενόμενο αλγόριθμο και διαθέτει έγκυρη δομή
Συχνές ερωτήσεις
Πού βρίσκω το δημόσιο κλειδί SSH μου;
Στα περισσότερα συστήματα αποθηκεύεται στη διαδρομή ~/.ssh/id_ed25519.pub, ~/.ssh/id_rsa.pub ή σε παρόμοια διαδρομή ανάλογα με τον αλγόριθμο. Μπορείτε επίσης να εκτελέσετε ssh-add -L για να εμφανίσετε τα κλειδιά που είναι φορτωμένα στον SSH agent σας.
Είναι ασφαλές να κοινοποιώ το δημόσιο κλειδί μου; Ναι. Το δημόσιο κλειδί είναι σχεδιασμένο για να κοινοποιείται. Δεν μπορεί να χρησιμοποιηθεί για την εξαγωγή του ιδιωτικού κλειδιού ή για αυθεντικοποίηση εκ μέρους σας.
Γιατί τα fingerprints SHA-256 και MD5 φαίνονται διαφορετικά;
Τα fingerprints SHA-256 είναι κωδικοποιημένα σε Base64 και φέρουν το πρόθεμα SHA256:, ενώ τα fingerprints MD5 χρησιμοποιούν ζεύγη δεκαεξαδικών αριθμών διαχωρισμένα με άνω-κάτω τελεία και φέρουν το πρόθεμα MD5:. Το SHA-256 είναι η προεπιλογή στις σύγχρονες εκδόσεις OpenSSH.