SSH-Varmenne
Ubuntu SSH-palvelimeen kirjautuminen varmenteella on loistava tapa lisätä palvelimen turvallisuutta. Varmenteen avulla voit vähentää Brute force hyökkäyksiä, jotka kohdistuvat SSH-palvelimeen. Salasanan käyttäminen varmenteelle taas vähentää avaimen murtumisen riskiä varmennetta kopioitaessa koneelta toiselle.
Jos kuitenkin haluat täysin salasana vapaan kirjautumisen palvelimelle niin silloin varmenne pitää kuitenkin tehdä ilman salasanaa.
Ubuntu 20.04 LTS palvelimeen kirjautuminen SSH-varmenteella PuTTY- ohjelmalla
Voit määrittää SSH-varmeenteen Linux Ubuntu 20.04 LTS SSH-palvelimeen seuraavasti. Luodaan ensin tarvittavat kansiot käyttäjälle mikäli niitä ei ole vielä valmiina.
SSH-hakemiston ja authorized_keys tiedoston valmistelu
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
SSH-palvelimen asetukset
Salli kirjautuminen palvelimelle julkisella SSH-varmenteella ja määritä käyttämäsi varmenteen polku sshd_config tiedostoon.
vi /etc/ssh/sshd_config
Poista seuraavilta riveiltä kommentit tai lisää rivit mikäli niitä ei ole sshd_config tiedostossa.
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PubkeyAcceptedAlgorithms +ssh-rsa
SSH-varmenteiden luonti palvelimelle
Seuraavaksi määritetään SSH-varmenteet palvelimelle. Luo varmenteet antamalla seuraava komento.
ssh-keygen -t rsa
Määritä hakemisto varmenteiden tallentamista varten. Järjestelmä luo myös julkisen avaimen samaan hakemistoon.
/root/.ssh/id_rsa
Lisää julkisen varmenteen tiedoston sisältö SSH-varmennetiedostoon authorized_keys.
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Käynnistä lopuksi SSH-palvelin uudelleen.
sudo service ssh restart
PuTTY-yhteyden määrittäminen SSH-varmenteen avulla
Seuraavaksi määritetään PyTTY-ohjelman asetukset. Siirrä aluksi palvelimelta luomasi tiedosto id_rsa omalle koneellesi.
Muunnetaan yksityinen avain PuTTY-avainmuotoon
Avaa ohjelma PuTTYgen ja aloita lataamalla varmenne. Valitse valikosta kohta conversions ja sieltä import key.
Varmenne on nyt ladattu PuTTYgen ohjelmaan. Seuraavaksi valitse valikosta key kohta parameters for saving key files.
Valitse ppk files version kohdasta parametri 2 . Valitse lopuksi ok.
Seuraavaksi tallennetaan private key PyTTY versioksi. Valitse save private key.
Varmenteeseen on mahdollista lisätä salasana, jolla varmenne saadaan käyttöön mutta tässä vaiheessa jätämme salasana kohdan tyhjäksi. Jos salasana kohta on tyhjä niin älä jaa varmennettasi ulkopuolisille vaan pidä se hyvässä tallessa itselläsi. Saat varmennetta tallentaessa varoituksen siitä, että salasanaa ei ole asetettu. Hyväksy silti varmenteen tallentaminen.
Anna varmenteelle nimeksi esim. digivinkit.ppk ja valitse lopuksi tallenna.
Seuraavaksi avaa PuTTY-ohjelma ja lisää Ubuntu palvelimen ip-osoite host name kohtaan ja valitse oikea SSH-palvelimen portti.
Valitse seuraavaksi PuTTY-ohjelman asetuksista kohta SSH ja sieltä kohta Auth. Lisää tallentamasi varmenteen tiedosto sekä oikea polku kohtaan private key file for authentication.
Valitse tämän jälkeen vielä kohta session ja tallenna lopuksi SSH-yhteyden tiedot.
Ubuntu 20.04 LTS palvelimeen kirjautuminen SSH-varmenteella PuTTY-ohjelmalla pitäsi nyt onnistua. Valitse listasta tallentamasi session ja luo SSH-yhteys palvelimeen. Jos sinulla on SSH-yhteys kunnossa niin voit muuttaa vielä seuraavan asetuksen sshd_config tiedostoon, mikäli käytät varmennetta root tunnuksella. Tällä estämme root tunnuksen kirjautumisen salasanan avulla palvelimelle. Avaa sshd_config tiedosto seuraavalla komennolla.
vi /etc/ssh/sshd_config
Etsi tiedostosta kohta.
PermitRootLogin yes
Korvaa kohta seuraavasti.
PermitRootLogin without-password
Tallenna tiedosto ja käynnistä SSH-palvelin uudelleen.
sudo service ssh restart
Tämän muutoksen jälkeen root tunnuksella pääsee kirjautumaan SSH-palvelimeen ainoastaan sertifikaatin avulla.