SSH Avaimet

Mitä SSH avaimet ovat

SSH kirjautumiseen voidaan käyttää salasanaa (se yleisin tapa) tai ns. julkista avainta (Public-key_cryptography). Jälkimmäisessä tilanteessa on avain, joka koostuu yksityisestä ja julkisesta osasta. Yksityinen osa on vähän niinkuin salasana. Sitä kukaan muukuin sinä itse tiedä. Julkinen osa taas on tunnettu.

Ideana on että voit salata jotain sisältöä (esim. HELLO) salaisella avaimellasi (salattuna se siis on asdf eli jotain) tämä viesti lähetetään palvelimelle ja palvelin tarkistaa onko se sinun salaama teksi purkamalla sisällön julkisella avaimellasi (täten palvelin saa viestin HELLO). Palvelimen pitää siis tietää millä julkisilla avaimilla on pääsy sinun käyttäjällesi.

Lyhyesti, sinulla on salainen osa avaimesta ja palvelimella julkinen.

Mitä hyötyä tästä on?

Miten minä voin ottaa SSH avaimen käyttöön?

Linux, Unix ja Mac OS X

1) Tarvitset avainparin

Tarvitset työkalun ssh-keygen (Ssh-keygen), joka on tyypillisesti jokaisella koneella, jossa on komento ssh.

Luot uuden avaimen komennolla: (Aja komento koneella josta otat yhteyden. Salaisen avaimen siirtäminen ei ole aina turvallista.)

  ssh-keygen

Tämä luo tiedostot .ssh/id_rsa ja .ssh/id_rsa.pub, joista jälkimmäinen (.pub) on julkinen.

2) Siirrä julkinen avain kohdekoneelle

Jos ssh yhteyden kohde on esimerkiksi koulun kone, asenna julkinen avain komennolla:

  ssh-copy-id user@host

Huom! user@host kohtaan korvaa oma tunnuksesi ja kohde tietokone (esim. tteekkari@kosh.aalto.fi).

Nyt ssh yhteytesi ei kysy salasanaa.

Minulla ei ole ssh-copy-id ohjelmaa

Tehdään sama ihan itse:

  cat .ssh/id_rsa.pub|ssh user@host \
    sh -c "cat > mun_julkinen_avain.key;
      if ! [ -e .ssh ]; then mkdir .ssh; fi;
      cat mun_julkinen_avain.key >> .ssh/authorized_keys;
      rm mun_julkinen_avain.key"

Huom! user@host kohtaan korvaa oma tunnuksesi ja kohde tietokone (esim. tteekkari@kosh.aalto.fi).

Vaihtoehtoisesti sama ihan käsin:

  user@local:~$ scp .ssh/id_rsa.pub user@remote:
  user@local:~$ ssh user@remote
  user@remote:~$ mkdir -p .ssh
  user@remote:~$ cat id_rsa.pub >> .ssh/authorized_keys
  user@remote:~$ rm id_rsa.pub

Huom! user@remote kohtaan korvaa oma tunnuksesi ja kohde tietokone (esim. tteekkari@kosh.aalto.fi). Huom! Rivien alussa oleva user@local:~$ kuvaa terminaalia

Windows

TODO

Muuta

Tiedostossa .ssh/authorized_keys on lista ko. tunnukselle kirjautumisen sallivista julkisista avaimista. Lisää tietoa Secure Shell Key management.

aswiki: Ohjeet/SshAvaimet (last edited 2015-10-05 21:01:10 by localhost)