SSH-kättely ja isäntäavaintodennus
Käykää läpi SSH-2-kättely: version vaihto, algoritmien neuvottelu, avaintenvaihto ja palvelun todennus.
SSH-kättely ja isäntäavaintodennus on ilmainen Cryptology Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cryptology Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.
TCP-yhteys portissa 22
SSH alkaa TCP-yhteydellä porttiin 22. Kun yhteys on muodostettu, asiakas ja palvelin vaihtavat version merkkijonot, kuten SSH-2.0-OpenSSH_9.3, joka ilmaisee protokollaversion ja toteutuksen. Tämä versioiden vaihto antaa molemmille osapuolille mahdollisuuden varmistaa yhteensopivuus ennen etenemistä.
Algoritmien neuvotteluvaihe
Versioiden vaihdon jälkeen molemmat osapuolet lähettävät SSH_MSG_KEXINIT-paketteja, joissa luetellaan niiden tukemat algoritmit. Luettelot kattavat avaimenvaihtomenetelmät, isäntäavaintyypit, symmetriset salausalgoritmit, MAC-algoritmit ja pakkauksen. Molempien luetteloiden leikkaus määrittää istunnossa käytettävät algoritmit.
Diffie-Hellman- ja ECDH-avaimenvaihto
Istuntoavain muodostetaan käyttämällä avaimenvaihtoalgoritmia, kuten Diffie-Hellmania tai ECDH:ta. Asiakas ja palvelin luovat kumpikin lyhytikäiset avainparit, vaihtavat julkiset arvot ja laskevat toisistaan riippumatta saman jaetun salaisuuden. Tämä jaettu salaisuus toimii istuntoavaimen johtamisen siemenenä, eikä sitä koskaan lähetetä suoraan.
Palvelimen isäntäavaimen todennus
Palvelin todistaa henkilöllisyytensä allekirjoittamalla avaimenvaihdon tiivisteen isäntäavaimensa yksityisellä avaimella. Isäntäavain voi olla RSA-, ECDSA- tai moderni Ed25519-avain. Asiakas käyttää vastaavaa julkista avainta allekirjoituksen tarkistamiseen ja varmistaa näin olevansa yhteydessä aitoon palvelimeen eikä huijariin.
Luota ensimmäisellä käyttökerralla (TOFU)
Kun uuteen palvelimeen muodostetaan yhteys ensimmäisen kerran, asiakas ei vielä tunne sen julkista isäntäavainta. SSH näyttää avaimen sormenjäljen ja pyytää käyttäjää hyväksymään sen. Tämä Trust On First Use -malli tallentaa avaimen known_hosts-tiedostoon ja havaitsee muutokset tulevilla yhteyksillä varoittaen mahdollisista man-in-the-middle-hyökkäyksistä.
Isäntäavaimen sormenjäljen tarkistaminen
Turvallisin tapa tarkistaa uuden palvelimen isäntäavain on käyttää erillistä viestintäkanavaa. Järjestelmänvalvoja voi lukea palvelimen sormenjäljen paikan päällä tai varmennetun suojatun kanavan kautta ja verrata sitä SSH-asiakasohjelman näyttämään sormenjälkeen. Näin estetään vilpillisen avaimen huomaamaton hyväksyminen ensimmäisellä yhteydellä.
known_hosts-tiedoston rakenne
known_hosts-tiedosto tallentaa rivejä muodossa: hostname algorithm base64-key. Jokainen merkintä edustaa luotetun palvelimen identiteettiä. Kun muodostatte yhteyden known_hosts-tiedostossa olevaan isäntään, SSH tarkistaa, että esitetty avain vastaa tallennettua avainta, ja kieltäytyy yhteydestä, jos avaimet eivät täsmää.
Istuntoavainten johtaminen
Avaimenvaihdon jälkeen molemmat osapuolet johtavat istuntoavaimet toisistaan riippumatta jaetun salaisuuden, avaimenvaihdon tiivisteen ja istuntotunnisteen avulla. Kullekin viestintäsuunnalle sekä salaukselle ja MAC-operaatioille johdetaan erilliset avaimet. Näin asiakas-palvelin-liikenteessä käytettävät avaimet eroavat palvelin-asiakas-liikenteen avaimista.
Salatun viestinnän vaihe
Kun istuntoavaimet on muodostettu, kaikki myöhempi SSH-viestintä salataan ja todennetaan. Neuvoteltu salausalgoritmi, kuten AES-256-GCM tai ChaCha20-Poly1305, suojaa luottamuksellisuutta, ja MAC varmistaa eheyden. Myös käyttäjänimi ja todennustiedot lähetetään tämän salatun tunnelin sisällä.
SSH-isäntäavaintyypit vertailussa
2048- tai 4096-bittiset RSA-isäntäavaimet ovat laajasti tuettuja, mutta hitaampia. NIST-käyriin perustuvat ECDSA-avaimet ovat nopeampia, mutta jotkut eivät luota NIST-käyrien parametreihin. Curve25519:een perustuvat Ed25519-avaimet ovat moderni suositus: ne ovat pieniä, nopeita ja vahvasti suojattuja eivätkä ole riippuvaisia NIST-käyrien parametreista. Useimmat nykyaikaiset SSH-palvelimet tarjoavat Ed25519:n oletusarvoisesti.
Istunnon muodostamisen yhteenveto
SSH-kättely koostuu seuraavista vaiheista: TCP-yhteyden muodostaminen, versioiden vaihto, algoritmien neuvottelu, istuntoavaimet muodostava avaimenvaihto, palvelimen isäntäavaimen tarkistus ja käyttäjän todennus. Kaikki versioiden vaihdon jälkeen tehtävät vaiheet tapahtuvat avaimenvaihtovaiheessa muodostetun salatun ja eheydeltä suojatun kanavan sisällä.
Isäntäavaimen tarkistaminen
Miten asiakas tarkistaa SSH-palvelimen isäntäavaimen ensimmäisen yhteyden jälkeisillä yhteyksillä?
SSH-kättelyn kertaus
Tässä oppitunnissa: TCP muodostaa yhteyden portissa 22, version merkkijonot vaihdetaan, algoritmien neuvottelu valitsee salausalgoritmit ja avaimenvaihtomenetelmät, ECDH tai DH muodostaa jaetun salaisuuden, istuntoavaimet johdetaan erikseen kumpaakin suuntaa varten, palvelin todentaa itsensä isäntäavaimen allekirjoituksella ja asiakas tarkistaa avaimen known_hosts-tiedoston avulla TOFU-mallia käyttäen ensimmäisellä yhteydellä.
Opi Cryptology Academy tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 67
- Oppitunnit
- 261
Usein kysytyt kysymykset
Onko oppitunti ”SSH-kättely ja isäntäavaintodennus” ilmainen?
Kyllä – oppitunnin ”SSH-kättely ja isäntäavaintodennus” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cryptology Academy-kurssin, päivitä CoddyKit PROhon. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”SSH-kättely ja isäntäavaintodennus”?
Käykää läpi SSH-2-kättely: version vaihto, algoritmien neuvottelu, avaintenvaihto ja palvelun todennus. Harjoittelet Cryptology Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Cryptology Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Cryptology Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”SSH-kättely ja isäntäavaintodennus”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Cryptology Academy-oppitunnilla?
Kyllä. Jokainen Cryptology Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- SSH-kättely ja isäntäavaintodennus
- Julkisen avaimen todennus ja agentin välitys
- SSH-tunnelointi ja porttien välitystekniikat
- SSH:n vahvistaminen ja auditoinnin parhaat käytännöt