Mis on SSH võtmepaar?

SSH võtmepaar on kahe krüptograafilise võtme komplekt, mida kasutatakse kasutaja autentimiseks kaugserverisse ilma paroolita. Paar koosneb privaatse võtmest, mida hoitakse salajasena kasutaja masinas, ja avalikust võtmest, mis asub kaugserveril. Ühenduse loomisel esitab server kliendile väljakutse, et tõestada privaatse võtme omamist — ilma privaatset võtit kunagi edastamata. See asümmeetriline lähenemine on oluliselt turvalisem kui parooliga autentimine, kuna puudub jagatud saladus, mida saaks pealtkuulata või jõuga murda.

SSH võtmepaarid luuakse avaliku võtme krüptograafia algoritmide abil. Kõige laialdasemalt kasutatavad on Ed25519, kaasaegne elliptilise kõvera algoritm, mis on tuntud väikese võtme suuruse ja kõrge turvalisuse poolest, ja RSA, ajaproovitud algoritm, mis tugineb suurte täisarvude faktoriseerimise raskusele. Ed25519 on soovitatav uute võtmete jaoks selle paremuse ja vastupidavuse tõttu külgkanalirünnakutele.

Tööriista kirjeldus

SSH võtmepaaride generaator loob krüptograafiliselt turvaliseid Ed25519 või RSA SSH võtmepaare otse teie brauseris, kasutades Web Crypto API-t. Ühtegi andmeid ei saadeta serverisse — kogu võtmematerjalid luuakse lokaalselt teie seadmes. Võite valikuliselt lisada kommentaari (tavaliselt user@hostname), et võtit hiljem tuvastada. Loodud avalikke ja privaatseid võtmeid saab kopeerida lõikepuhvrisse või alla laadida failidena, mis on valmis kasutamiseks ssh-copy-id või mis tahes SSH kliendiga.

Näited

Ed25519 avalik võti

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@hostname

RSA avalik võti (4096-bitine)

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2... user@hostname

Privaatne võti (OpenSSH vorming)

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAAB...
-----END OPENSSH PRIVATE KEY-----

Funktsioonid

  • Ed25519 ja RSA tugi: Valige kaasaegse elliptilise kõvera algoritmi või klassikalise RSA algoritmi vahel
  • RSA võtme suuruse valikud: Valige 2048, 3072 või 4096-bitised RSA võtmed, et tasakaalustada turvalisust ja jõudlust
  • Valikuline kommentaariväli: Lisage user@hostname stiilis kommentaar, et tuvastada võti masinate vahel
  • Kliendipoolne genereerimine: Võtmed luuakse täielikult teie brauseris, kasutades Web Crypto API-t — midagi ei edastata ega salvestata
  • Ühe kliki allalaadimine: Salvestage avaliku ja privaatse võtme failid otse õigete failinimede abil (id_ed25519, id_ed25519.pub, id_rsa, id_rsa.pub)

Kasutamise juhtumid

  • Serveri juurdepääsu seadistamine: Looge võtmepaar korraga ja juurutage avalik võti mis tahes arvule kaugserveritele Linux/Unix-is kaudu ~/.ssh/authorized_keys, et lubada paroolita SSH sisselogimine
  • Git hostingu autentimine: Lisage avalik võti GitHub-ile, GitLab-ile või Bitbucket-ile, et autentida git push ja git pull operatsioone ilma iga kord mandaate sisestamata
  • CI/CD torustikud: Looge eraldatud juurutamise võtmepaar automatiseeritud skriptidele või koostamisagentidele, kes vajavad SSH juurdepääsu serveritele või privaatsetele hoidlatele

Kuidas see toimib

Võtmete genereerimine kasutab brauseri sisseehitatud crypto.subtle API-t (Web Crypto). Ed25519 puhul pakitakse toorest 32-baidist privaatset skalaarit ja 32-baidist avalikku võtit OpenSSH juhtmevormingusse (openssh-key-v1). RSA puhul eksporditakse võti PKCS#8 DER vormingusse ja mähitakse standardse PEM ümbrikusse. Avalik võtme plokk kodeeritakse SSH juhtmevormingusse (pikkusega eesliide algoritmi nimele, millele järgneb võtmematerjalid) ja Base64-kodeeritakse, vastates OpenSSH authorized_keys faili oodatavale vormingule.

Näpunäited

  • Pärast allalaadimist määrake privaatse võtme failile õiged õigused: chmod 600 ~/.ssh/id_ed25519. SSH keeldub privaatse võtme kasutamisest, mis on loetav teiste kasutajate jaoks.
  • Kasutage Ed25519-d, kui te ei vaja ühilduvust vanemaate süsteemidega, mis seda ei toeta. See loob lühemaid võtmeid ja on RSA-st kiirem.
  • Kommentaariväli ei mõjuta võtme krüptograafilist tugevust — see on puhtalt inimese tuvastamiseks ja seda saab hiljem muuta käsuga ssh-keygen -c.
  • Maksimaalse RSA ühilduvuse jaoks pärandserveritega kasutage 4096-bitiseid võtmeid. Kaasaegsetel serveritel on Ed25519 eelistatud, olenemata RSA võtme suurusest.