Mis on SSH avalik võti?

SSH avalik võti on üks pool krüptograafilisest võtmepaarist, mida kasutatakse turvaliseks autentimiseks üle SSH (Secure Shell) protokolli. Kui genereerite SSH võtmepaari, saate privaatse võtme (hoitakse salajasena teie masinas) ja avaliku võtme (jagatakse serveritega, millele soovite ligi pääseda). Server kasutab teie avalikku võtit teie identiteedi kontrollimiseks ilma parooli edastamata.

SSH avalikud võtmed salvestatakse OpenSSH formaadis ühe tekstireana, mis sisaldab kolme osa: võtme tüüp (näiteks ssh-rsa või ssh-ed25519), Base64-kodeeritud võtmeandmed ja valikuline kommentaar (tavaliselt user@hostname). Base64 andmetesse on põimitud struktureeritud binaarne teave, sealhulgas algoritmi parameetrid ja tegelik krüptograafiline materjal.

Sõrmejäljed on lühikesed, inimloetavad räsid võtmeandmetest. Need muudavad võtmete kontrollimise ja võrdlemise lihtsaks, ilma et peaks lugema täielikku Base64 stringi. Kaks levinumat sõrmejälje formaati on SHA-256 (kaasaegne vaikimisi) ja MD5 (pärandformaat kooloniga eraldatud hex-paaridega).

Tööriista kirjeldus

See tööriist parsib SSH avalikke võtmeid OpenSSH formaadis ja eraldab kõik olulised metaandmed. Kleepige oma avalik võti ja vaadake koheselt võtme tüüpi, algoritmi, võtme suurust bittides, kommentaari ning nii SHA-256 kui ka MD5 sõrmejälgi — vastates väljundile, mille saaksite käsuga ssh-keygen -l.

Näited

Sisend:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@laptop

Väljund:

Väli Väärtus
Võtme tüüp ssh-ed25519
Algoritm Ed25519
Võtme suurus 256 bitti
Kommentaar user@laptop
Sõrmejälg SHA-256 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8
Sõrmejälg MD5 MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48

Funktsioonid

  • Toetab RSA, Ed25519, ECDSA (P-256, P-384, P-521), DSA ja Security Key (FIDO) võtmetüüpe
  • Arvutab SHA-256 ja MD5 sõrmejäljed standardses OpenSSH formaadis
  • Eraldab võtme suuruse bittides otse binaarsest võtmeandmest
  • Valideerib võtme struktuuri, sealhulgas Base64 terviklikkust ja põimitud tüübi järjepidevust
  • Parsib valikulise kommentaarivälja avaliku võtme realt

Kuidas see töötab

Tööriist jagab sisendi kolmeks osaks: võtme tüüp, Base64 andmed ja kommentaar. Seejärel dekodeerib Base64 andmed binaarseks ja loeb sisemist struktuuri SSH pikkusega eesliitega formaadi abil, kus iga väli algab 4-baidise big-endian pikkusega, millele järgneb välja andmed. Võtme suurus määratakse algoritmi-spetsiifilistest parameetritest — RSA puhul on see moduluse n bittide pikkus, DSA puhul algarv p ning elliptilise kõvera võtmete puhul tuletatakse see kõvera nimest. Sõrmejäljed arvutatakse toorbinaarsete võtmeandmete räsimisega SHA-256 ja MD5 abil.

Toetatud võtmetüübid

Tüübi identifikaator Algoritm
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)

Kasutusjuhud

  • Võtme sõrmejälgede kontrollimine — Veenduge, et avalik võti vastab oodatavale sõrmejäljele enne selle lisamist faili authorized_keys või Git-i hostimisteeenusesse
  • Serveri juurdepääsu auditeerimine — Tuvastage kiiresti oma authorized_keys failis olevate võtmete algoritm ja suurus, et leida nõrgad või aegunud võtmed
  • SSH probleemide silumine — Kontrollige, kas võti on õiges formaadis, kasutab oodatavat algoritmi ja omab kehtivat struktuuri

KKK

Kust leian oma SSH avaliku võtme? Enamikes süsteemides on see salvestatud asukohta ~/.ssh/id_ed25519.pub, ~/.ssh/id_rsa.pub või sarnasele teele sõltuvalt algoritmist. Samuti saate käivitada ssh-add -L, et loetleda teie SSH agendis laaditud võtmed.

Kas avaliku võtme jagamine on turvaline? Jah. Avalik võti on loodud jagamiseks. Seda ei saa kasutada privaatse võtme tuletamiseks ega teie nimel autentimiseks.

Miks SHA-256 ja MD5 sõrmejäljed näevad erinevad välja? SHA-256 sõrmejäljed on Base64-kodeeritud ja eesliitega SHA256:, samas kui MD5 sõrmejäljed kasutavad kooloniga eraldatud heksadetsimaalseid paare eesliitega MD5:. SHA-256 on vaikimisi kaasaegsetes OpenSSH versioonides.