Tämä on yksinkertaistettu ohje SSH-avainautentikointiin laitoksella (ja missä tahansa muuallakin).
Yleisin käyttötapaus kirjautuminen ilman salasanaa. Jotta kirjautuminen onnistuisi, tarvitsee ensin luoda julkinen (public) ja salainen (private) avain. Sitten julkinen avain kopioidaan kohdekoneelle ja varmistetaan, että tiedosto-oikeudet ovat sekä hakemistoissa, että tiedostoissa oikein "lähdekoneella" ja kohdekoneella.
ssh-keygen
kotihakemisto/.ssh/id_rsa
on hyvä..ssh
-hakemiston ja avainten oikeudet.
chmod u=rwx,go= .ssh
chmod u=rwx,go= .ssh/*
.ssh/id_rsa.pub
kohdekoneelle tiedostoon .ssh/authorized_keys
.
scp
-komennolla tai copy-pastella..ssh
-hakemistolle ja .ssh/authorized_keys
-tiedostolleNyt kirjautumisen pitäisi onnistua avaimella.
Jokaisen avaimen salasanaa ei tarvitse aina kirjoittaa uudestaan jokaisella käyttökerralla, jos käytössä on ne erikseen muistava softa. Laitoksen Linux-ympäristössä on olemassa ssh-agent
-niminen ohjelma, jota voi käyttää tehtävään. Käytännössä aina koneelle kirjauduttaessa lisätään jokainen käytettävä SSH-avain agenttiin komentamalla ssh-add .ssh/yksityinen_avain
ja sen jälkeen tämä avain toimii kyseisen istunnon ajan ilman salasanan kirjoittamista, kuten salasanaton avain.
Tiedostolla .ssh/config
saadaan kirjautuminen vielä joustavammaksi. Tiedostolla voi määritellä mm. mitä avainta tai käyttäjätunnusta millekkin koneelle käytetään. Tiedostossa voidaan määritellä esimerkiksi seuraavasti:
Host kohdekone HostName kone.cs.helsinki.fi User käyttäjätunnus IdentityFile .ssh/yksityinen_avain
Eli komennolla ssh kohdekone
kirjaudutaan koneelle kone.cs.helsinki.fi
käyttäen käyttäjätunnusta käyttäjätunnus
ja avainta .ssh/yksityinen_avain
.ssh/config
käytöstäKäyttäen oletusavainta .ssh/rsa_id
Host db HostName db.cs.helsinki.fi User paksula
Käyttäen käyttäjätunnusta tkt_ryhm
ja avainta .ssh/tkt_ryhm_id
. Yhteys luodaan komennolla ssh db_ryhm
.
Host db_ryhm HostName db.cs.helsinki.fi User tkt_ryhm IdentityFile .ssh/tkt_ryhm_id