SSH-avaimet ja Avainnippu Leopardissa
tiistaina 13. toukokuuta 2008Mac OS X kissaperheen tuorein jäsen, 10.5 Leopard, osaa monia kehittäjiä miellyttäviä temppuja. Tässä yksi vinkki SSH-avainten hallintaan avainnipun avulla.
SSH-avain on salasanaa astetta turvallisempi tapa autentikoitua etäpalvelimelle. Aikaisempien OS X:n versioiden kanssa avainten joustavaan käyttöön on tarvittu SSHKeychainin kaltainen ohjelma, joka on huolehtinut avainten lisäämisestä sessiolle. Leopardin myötä ssh-add toimii viimein kuten pitääkin ja käyttöjärjestelmä osaa itse huolehtia tällaisista perusasioista. (Tervetuloa 2000-luvulle, OS X!)
Avainnippu mahdollistaa puolestaan sen, että voit luoda turvallisen salasanalla suojatun SSH-avaimen, ja antaa Avainnipun huolehtia sen käytöstä jolloin pääset kirjautumaan avainta käyttäville etäpalvelimille turvallisesti ja ilman salasanan syöttämistä.
Näin homma toimii:
1. Luo itsellesi SSH-avain
Avaa Pääte ja komenna ssh-keygen. Ohjelma luo julkisen ja salaisen avaimen hakemistoon ~/.ssh/ nimillä id_rsa.pub ja id_rsa.
Neo:~ demo$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/demo/.ssh/id_rsa):
Created directory ‘/Users/demo/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/demo/.ssh/id_rsa.
Your public key has been saved in /Users/demo/.ssh/id_rsa.pub.
The key fingerprint is:
19:75:73:cf:96:1d:df:0e:54:90:b9:3e:04:00:2d:c0 demo@Neo.local
2. Siirrä julkinen SSH-avain etäpalvelimelle
Siirto onnistuu scp:tä käyttäen esimerkiksi seuraavasti:
Neo:~ demo$ scp ~/.ssh/id_rsa.pub kauttajatunnus@palvelin:id_rsa.pub
Siirry etäpalvelimella hakemistoon ~/.ssh/ ja lisää avain tiedostoon authorized_keys:
[demo@demokone ~]$ cd .ssh
[demo@demokone ~]$ cat ~/id_rsa.pub >> authorized_keys
(Jos hakemistoa .ssh ei ole, voit luoda sen ja authorized_keys-tiedoston itse. Laita hakemiston oikeudeksi 700 ja tiedoston oikeudeksi 600 jotta ne eivät ole muiden luettavissa.
[demo@demokone ~]$ mkdir .ssh
[demo@demokone ~]$ chmod 700 .ssh
[demo@demokone ~]$ cd .ssh
[demo@demokone .ssh]$ touch authorized_keys
[demo@demokone .ssh]$ chmod 600 authorized_keys
)
3. Anna SSH-avaimen salasana Avainnipun huoleksi
Nyt kun avaimet on luotu ja siirretty etäkoneelle, SSH-yhteys onnistuu avainta käyttämällä. Ja mikä parempaa, Leopardin Avainnippu osaa muistaa avaimen salasanan, joten sinun ei tarvitse antaa se kuin kerran.
Tallenna salasana avainnippuun:
Neo:~ demo$ ssh-add -K
Enter passphrase for /Users/demo/.ssh/id_rsa:
Passphrase updated in keychain: /Users/demo/.ssh/id_rsa
Identity added: /Users/demo/.ssh/id_rsa (/Users/demo/.ssh/id_rsa)
Nyt voit kirjautua etäpalvelimelle kokonaan ilman salasanaa. Komento ssh-add -k lisää nykyiseen sessioon kaikki Avainnipussa olevat avaimet. Jos laitat tämän komennon esimerkiksi Päätteen asetuksissa käynnistyskomentoihin, avaimet ovat käytettävissäsi automaattisesti aina kun avaat Päätteen.