SSH-avaimen avulla SSH-yhteyden voi muodostaa ilman salasanaa, joka on erityisen hyödyllistä scripteissä. Myös SSH-avaimella kirjautuminen on turvallisempaa kuin käyttäjätunnus+salasana yhdistelmää käyttäessä kunhan asettaa yksityiselle avaimeille (private key) salasanan.
SSH-avain muodostuu yksityisestä avaimesta (private key) ja julkisesta avaimesta (public key). Yksityinen avain pidetään omalla työasemalla suojassa eikä sitä koskaan jaeta muiden kesken. Sitä käytetään kun kirjaudutaan SSH-asiakasohjelmalla palvelimelle. Julkinen avain tallennetaan SSH-palvelimelle ja voidaan tallentaa useille palvelimille. Kirjautuessa SSH-asiakasohjelmalla SSH-palvelimelle SSH-asiakasohjelma salaa yksityisellä avaimella yhteyden ja palvelin tarkistaa että salaus täsmää tallennettuun SSH-julkiseen avaimeen.
Table of Contents
SSH-avaimen luonti Puttygen-ohjelmalla
SSH-avaimen voi luoda itselle helposti Puttygen-asiakasohjelmalla. Saat sen helposti ladattua täältä. Suosittelen asentamaan MSI-pakettina (putty-0.71-installer.msi)
, joka sisältää myös Putty-ohjelman jonka tarvitset kun muodostat SSH-etäyhteyden.
Asentamiseen jälkeen avaa Puttygen-ohjelma.
Valitse avauksen jälkeen Generate -luodessasi uutta avainta. Tämän jälkeen liikuta hiirtä satunnaisesti Puttygen-sovelluksen yllä. Tämä luo sinulle nyt SSH-yksityisen avaimen.
Nyt avain on luotu, mutta älä sulje vielä sovellusta. Syötä Key passphrase ja Confirm passphrase-kenttään salasana yksityiselle avaimelle. Tämä salasana estää sinun SSH-avaimen ulkopuolisen käyttöä mikäli saa tämän käsiin. Tämä salasana tulee muistaa, sillä sitä ei voi nollata, mutta on mahdollista kyllä vaihtaa jälkikäteen.
Tallenna yksityinen avain Save private key -valinnalla ja tallenna tämä hyvään paikkaan talteen. Suosittelen varmuuskopioimaan tämä tiedosto talteen. Sitten tallenna myös julkinen avain Save public key-valinnalla talteen tietokoneellesi. Älä jaa koskaan yksityista avaintasi kenelekkään (.ppk)-tiedostoa. Julkista avainta voit jakaa muille, jotta voit kirjautua Linux-palvelimille.
Julkisen SSH-avaimen tallentaminen palvelimelle
Nyt sinulla on luotuna ja tallennettuna yksityinen ja julkiset SSH-avaimet työasemallesi. Nyt tallennamme julkisen SSH-avaimen palvelimelle, jotta voimme muodostaa siihen etäyhteyden Putty-asiakasohjelmalla (tämän asensit MSI-asennuspaketissa).
Sinun tulee nyt tallentaa julkinen SSH-avain Linux-palvelimen käyttäjäsi hakemistoon ~/.ssh/authorized_keys . Tiedostoon voi lisätä useita SSH-avaimia, jokainen omalle riville.
Suosittelen muodostamaan palvelimelle SSH-yhteys käyttäen käyttäjätunnusta ja salasanaasi.
Avaa nano-sovelluksella authorized_keys tiedosto seuraavalla hakemistolla.
nano ~/.ssh/authorized_keys
Ja tämän jälkeen liittämällä (SSH:ssa klikkaamalla hiiren kaksoispainiketta / oikeaa painiketta) julkinen avain (ssh-rsa -alkuinen) tiedostoon. Mikäli tiedostossa on jo yksi tai useampi SSH-avain, niin liitä oma avain toiselle riville.
Tallenna tiedosto CTRL+O -näppäinyhdistelmällä ja sulje tiedosto CTRL+X-näppäinyhdistelmällä. Sulje SSH-yhteys palvelimelle.
SSH-avaimen käyttö
Nyt sinulla on julkinen SSH-avain tallennettu palvelimelle, joten voit nyt käyttää sitä asiakasohjelmassasi.
Avaa Putty-sovellus.
Tämän jälkjeen siirry kategoria-valikosta Connection -> Auth ja valitse Private key file for authenticator-kohdasta Browse ja etsi tietokoneelta .ppk-tiedostopäätteellä oleva SSH-yksityinen avaimesi.
Tämän jälkeen siirry kategroria-valikosta Session-kohtaan ja syötä Host Name-kohtaan palvelimen IP-osoite tai isäntänimi (hostname) mihin olet yhdistämässä.
Syötä login as-kohtaan käyttäjänimesi ja sitten syötä SSH-yksityisen avaimesi salasana, jonka loit tallentaessasi Puttygenillä.
Nyt kirjautuminen on onnistunut ja voit käyttää palvelinta SSH-avaimellasi.
Mikäli sait virheilmoituksen kirjautuessasi palvelimelle, katso palvelimen /var/log/auth.log -tiedostosta virheilmoitukset läpi. Varmista että .ssh -hakemiston käyttöoikeus on 700 ja authorized_keys tiedostossa on käyttöoikeus 600. Omistajuus tulee olla omalla käyttäjätunnuksella molemmissa hakemistossa että tiedostossa.
Salli palvelimelle kirjautumisen vain SSH-avaimen avulla
Tietoturvasyistä on suositeltavaa sallia Linux-palvelimelle kirjautumisen vain SSH-avaimen avulla etänä. Testaa kuitenkin ensin että pääset SSH-avaimella kirjautumaan palvelimelle.
Voit poistaa käyttäjätunnus + salasana kirjautumisen sshd_config-tiedostosta. Debian-pohjaisilla käyttöjärjestelmistä se löytyy /etc/ssh/sshd_config polusta. Avaa tiedosto esimerkiksi nano-tekstieditorilla.
sudo nano /etc/ssh/sshd_config
Etsi kohta PasswordAuthentication ja muuta se ”no”:ksi.
# Change to no to disable tunnelled clear text passwords PasswordAuthentication no
Sulje tiedosto ja käynnistä SSH-palvelu uudelleen
sudo service ssh restart
Testaa nyt SSH-yhteys.