Linux hallinta- ja koventaminen

SSH-palvelun käyttäminen

Helppo
20 min

Mikä on SSH?

SSH (Secure Shell) on salattua protokollaa käyttävä ohjelmisto, joka mahdollistaa turvallisen etäyhteyden luomisen tietokoneiden välille Internetin yli. SSH:n pääasiallinen tarkoitus on tarjota salattu ja turvallinen pääsy etäpalvelimiin ja laitteisiin. Sitä käytetään tyypillisesti hallitsemaan etäpalvelimia, siirtämään tiedostoja turvallisesti ja suorittamaan komentoja etäkoneilla. Tässä moduulissa opettelemme SSH:n käyttöä. Aloita käynnistämällä alla oleva harjoitus ja toista vaiheet perässä.

SSH-yhteyden ottaminen

SSH-ohjelman käyttö on suhteellisen suoraviivaista. Kun harjoituslabrasi on käynnistynyt, voit ottaa yhteyden kohde IP-osoitteeseen seuraavalla komennolla:

ssh ubuntu@KOHDE-IP

Yllä olevan komento sisältää sanan ubuntu, joka on käyttäjä, jolla haluamme kirjautua. Sitten tulee @-merkki, jonka jälkeen annamme IP-osoitteen tai domain nimen, johon otamme yhteyttä. Tämän jälkeen palvelu varmistaa, että haluat luoda yhteyden tähän kohteeseen, sillä kyseisen kohteen sormenjälkeä ei tunnisteta. Voit kirjoittaa, että yes. Lopuksi, palvelu pyytää käyttäjän salasanan. Salasana on hakatemia.

Nyt olemme kirjautuneet etänä kohde koneelle käyttäjänä ubuntu.

SSH-yhteyden sulkeminen

Voit sulkea yhteyden komennolla "exit".

Julkisen SSH-avaimen luominen ja käyttäminen

SSH-palvelu tukee useita erilaisia tapoja kirjautua palvelimiin sisään. Käytimme äsken perinteistä salasana kirjautumista, mutta tähän löytyy turvallisempi ja parempikin tapa, nimittäin SSH-avainten käyttäminen. SSH-avaimet perustuvat asymmetriseen kryptografiaan ja tämän toimintalogiikka on käytännössä seuraavanlainen:

  1. Avaimen generointi: Käyttäjä aluksi generoi avainparin. Tämä koostuu julkisesta avaimesta, joka jaetaan palvelimille ja yksityisestä avaimesta, joka säilytetään turvallisesti omalla laitteellaan.
  2. Yhteyden muodostaminen: Kun käyttäjä ottaa yhteyttä, palvelin haluaa varmistua käyttäjän identiteetistä. Se pyytää käyttäjää allekirjoittamaan satunnaisen haasteen yksityisellä avaimellaan.
  3. Allekirjoituksen tarkistus: Vastaanottava osapuoli tarkistaa, että saatu allekirjoitus vastaa odotettua käyttämällä julkista avaintaan. Jos se on oikein, käyttäjän identiteetti on vahvistettu.

SSH-avainten käytössä ei ole tarvetta syöttää salasanaa joka kerta yhteyden muodostuessa, mikä tekee prosessista kätevämmän. Ainoastaan yksityisellä avaimella päästään kirjautumaan valittuihin palveluihin, joten tämä pitää olla hyvin suojassa.

Voit generoida itsellesi SSH-avainparin, seuraavalla komennolla (muista ajaa tämä harjoituksen omalla koneella, eikä kohdekoneella:

ssh-keygen

Komento kysyy ensin sinulta, että minne haluat tallentaa avainparin ja sitten, jos haluat määrittää yksityiselle avaimelle salasanan. Näin sitä ei voida käyttää, ilman, että tietää kyseisen salasanan, joka lisää tämän suojausta. Voit painaa vain enter, jos et halua asettaa tälle salasanaa.

Yllä olevassa listauksessa, tiedostot id_rsa ja id_rsa.pub ovat äsken generoidut avaimet. Näistä .pub päätteinen on julkinen avaimesi, jota voit levitellä rauhassa kohdepalvelimille, johon haluat kirjautua SSH-yhteydellä.

Julkisen avaimen asettaminen kohdepalvelimelle

Seuraava vaihe on asettaa kyseinen julkinen avain kohdepalvelimelle, niin että voimme kirjautua tämän avulla. Harjoitellaan samalla, kuinka voit siirtää tiedostoja palvelimelta toiselle SSH-protokollan yli. Käytetään tähän SCP-nimistä komentoa seuraavalla tavalla:

scp MISTÄ MIHIN

# esimerkiksi kohde koneelta meidän koneelle

scp ubuntu@10.0.0.1:"/tama" /root/tanne

# Tai meidän koneelta kohde koneelle

scp /root/.ssh/id_rsa.pub ubuntu@10.0.0.1:"/"

Komento kysyy sinulta salasanan ja sitten siirtää tiedoston kohdekoneelle. Kirjaudutaan nyt SSH:lla tavalliseen tapaan kohdekoneelle ja asetetaan julkinen SSH-avain oikein.

Kun yrität kirjautua SSH-palveluun käyttämällä julkisia avaimia, kyseinen palvelu tulee tarkistamaan, että löytyykö siltä käyttäjältä (käyttäjä, jolle yrität kirjautua) tiedosto .ssh/authorized_keys käyttäjän kotihakemistossa.

Kyseinen tiedosto sisältää kaikki määritetyt julkiset avaimet ja näitä voi siis olla monta, omilla riveillään. Yllä olevassa kuvassa loimme yksinkertaisesti .ssh nimisen kansion käyttäjän kotihakemistoon ja siirsimme äskeisen id_rsa.pub tiedoston tämän kansion sisään.

Muutimme samalla tämän nimen vastaamaan tuota authorized_keys nimeä. (Huom! - Tämä ei ole malliesimerkki, miten tehdä tämä, sillä järkevämpää olisi ollut vain kopioida julkinen avain, eikä siirtää koko tiedostoa, mutta kävimme tässä läpi myös tuon SCP-komennon)

Nyt voimme kokeilla kirjautua uudestaan sisään ja huomata, ettei palvelu pyydä meiltä enää salasanaa. Palvelu käyttää äsken generoituja SSH-avaimia kirjautumiseen.

Jos poistaisit yksityisen avaimesi, niin silloin palvelu turvautuisi taas salasanalla kirjautumiseen.

Salasanakirjautuminen vs SSH-avainten käyttö

Avaimet tarjoavat korkeamman turvallisuustason, sillä ne ovat pitkiä ja satunnaisia merkkijonoja, toisin kuin tyypilliset salasanat. Toiseksi, avaimia voidaan käyttää ilman, että käyttäjän täytyy syöttää salasanaa joka kerta. Tämä tekee prosessista kätevämmän ja samalla vähentää riskiä, että käyttäjät käyttävät heikkoja salasanoja tai tallentavat niitä epävarmoihin paikkoihin. Lisäksi avaimet mahdollistavat automatisoidut prosessit ja esimerkiksi skriptit voivat käyttää avaimia turvallisesti ilman, että käyttäjän täytyy olla paikalla syöttämässä salasanaa. Kaiken kaikkiaan SSH-avaimet tarjoavat tehokkaan ja turvallisen tavan autentikoida käyttäjät ja suojata etäyhteyksiä.

Mikä seuraavista komennoista ei toimi?

hakatemia pro

Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.

Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.