Mikä on SSH-avain?
SSH-avain viittaa ns. "avainpariin", jota voidaan käyttää turvallisempaa ja helpompaa palvelimeen kirjautumista varten salasanojen sijaan.
Avainpareja käyttäessä hyökkääjä ei pysty arvaamaan salasanaasi, vaan tarvitsee avaimen joka löytyy vain sinulta.
SSH-avaimen luonti
Jos SSH-avainta ei löydy, se täytyy luoda käyttämällä komentoa "ssh-keygen" (Windows-ympäristöissä "ssh-keygen.exe")
- Avaa terminaali tai cmd
- Aja "ssh-keygen"
- Seuraa ruudulla näkyviä ohjeita
Palvelimen päässä avaimen käyttöönotto
Avain löytyy käyttäjän kansiosta löydettävästä ".ssh"-alakansiosta, minne "ssh-keygen" loi esim. tiedostot id_ed25519 (yksityinen avain) ja id_ed25519.pub (julkinen avain).
Windows-ympäristössä kansion polku on "C:\Users\KÄYTTÄJÄ\.ssh\"
Linuxilla taas "/home/KÄYTTÄJÄ/.ssh/"
- Avaa julkisen avaimen tiedosto ja kopioi sen sisältö
- Yhdistä etäpalvelimeen
- Avaa etäpalvelimella tiedosto "~/.ssh/authorized_keys" ja liitä sinne julkinen avaimesi
- nano ~/.ssh/authorized_keys
- Jos "~/.ssh"-polkua ei ole, luo se seuraavilla komennoilla:
- mkdir ~/.ssh
- chmod 700 ~/.ssh
- touch ~/.ssh/authorized_keys
- chmod 644 ~/.ssh/authorized_keys
Salasanan käytöstä poistaminen palvelimen kirjautumisesta
Etäpalvelimen päästä voidaan poistaa kokonaan käytöstä salasana-autentikaatio muokkaamalla SSH-palvelimen asetuksia.
Kun SSH-avaimella kirjautuminen on testattu toimivaksi:
- Avaa SSH-palvelimen asetustiedosto
- sudo nano /etc/ssh/sshd_config
- Varmista, että julkisella avaimella kirjautuminen on päällä
- Etsi rivi "#PubkeyAuthentication yes", ja ota sen edestä #-kirjain pois.
- Poista salasanakirjautuminen pois käytöstä
- Etsi rivi "#PasswordAuthentication yes", ja muuta se muotoon "PasswordAuthentication no" (ilman #-kirjainta!").
- Tallenna tiedosto
- Paina CTRL + X, jolloin editori saattaa pyytää varmistusta, johon painetaan Y-kirjainta vahvistaakseen tallennus.
- Käynnistä SSH-palvelin uudelleen
- sudo systemctl reload ssh
- Varmista, että avaimella kirjautuminen toimii ja salasanaa ei enään hyväksytä