SSH-avaimien luonti ja lisääminen
Jotta kloonatun GitHub-repon käsittely paikallisesti olisi jouhevaa, kannattaa luoda sitä varten omat SSH-avaimet, jotka liitetään osaksi GitHub-tunnusta.
SSH-avaimien luominen
-
Avaa SSH-yhteys neutroni-palvelimelle omilla tunnuksillasi. Tämä onnistuu esimerkiksi käyttämälläsi pääteohjelmalla tai vaikka komennolla
ssh tunnus@neutroni.hayo.fi
. -
Luo uusi SSH-avain komennolla
ssh-keygen -t ed25519 -f ~/.ssh/github
Tämä kysyy sinulta kahteen kertaan avaimelle tallennettavan salasanan. Käytön helpottamiseksi salasanan voi jättää tyhjäksi eli voit painaa Enter-näppäintä kummankin kysymyksen kohdalla. Tämän jälkeen ruudulle tulostuu seuraavankaltainen tieto, joka kertoo minne julkinen avain (github.pub) ja yksityinen avain (github) on tallennettu sekä siihen liittyvän "sormenjäljen".
Generating public/private ed25519 key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/koodaaja/.ssh/github. Your public key has been saved in /home/koodaaja/.ssh/github.pub. The key fingerprint is: SHA256:d9vgxKdE1C+MvStN7CM2vDylek5XkUBoBVShVY0gpT8 koodaaja@neutroni The key's randomart image is: +--[ED25519 256]--+ | o+XXoo.| | *o + o| | o..+ + | | +. + o| | S . E..o.| | . = B=. | | .=*o. | | oX.= | | .=+* . | +----[SHA256]-----+
SSH-avaimen lisääminen GitHub-palveluun
Seuraavaksi liitetään SSH-avain osaksi GitHub-tunnusta. Huomaa, että seuraavat vaiheet antavat käyttöoikeuden GitHub-palveluun ainoastaan neutroni-palvelimen käyttäjälle. Jos haluat esimerkiksi oman paikallisen työasemasi käyttäytyvän samalla tavalla, niin sinun täytyy luoda vastaavanlaiset SSH-avaimen myös sille.
-
Tarvitset edellä luomasi SSH-avainparin julkista avainta, jonka liitämme osaksi omaa GitHub-tunnustamme. Saat julkisen avaimen näkyville komennolla
cat ~/.ssh/github.pub
Komennon tulostama sisältö on seuraavanlainen. Kopioi komennon tulostama rivi leikepöydälle, älä kopioi alla olevaa esimerkkiä, se ei toimi.
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBaNMTbtiW9ybUK52raIDHKjQKglVqD6mbdPtPbMhmqy koodaaja@neutroni
-
Klikkaa GitHub-palvelussa oikeassa yläkulmassa olevaa profiilikuvaketta ja valitse avautuvasta valikosta Settings-vaihtoehto.
Valitse oikean reunan valikosta kohta SSH and GPG keys.
Klikkaa SSH keys -kohdassa New SSH key-nappia.
Kirjoita Title-kenttään teksti tunnus@neutroni, liitä Key-kenttään leikepöydälle kopioimasi julkinen avain ja paina lopuksi Add SSH key-nappia.
Tämän jälkeen sinulla on SSH-avain tallennettu GitHub-tunnukseesi. Pystyt poistamaan sen SSH and GPG keys -sivulta, kun et sitä enää käytä.
SSH-avaimen sijainti
Oletuksena SSH-ohjelma etsii tietyn nimisiä avaimia .ssh-kansion alta. Edellä nimesimme SSH-avaimen tästä poikkeavasti, joten SSH-ohjelmalle tulee vielä kertoa, mistä se löytää SSH-avaimen yhteyden muodostamisen yhteydessä. Anna seuraava komento neutronin komentorivillä.
tee -a ~/.ssh/config << END
Host github.com
HostName github.com
IdentityFile ~/.ssh/github
END
SSH-yhteyden testaaminen
Lopuksi kannataa vielä testata, että SSH-yhteys onnistuu juuri lisäämälläsi SSH-avaimella. Tämä tapahtuu komennolla
ssh -T git@github.com
Tämä testaa, onnistuuko SSH-yhteyden muodostus GitHub-palvelimelle. Jos kaikki toimii, tulostuu sinulle seuraavanlainen teksti.
Hi fronttikoodaaja! You've successfully authenticated, but GitHub does not provide shell access.
Huomaa, että tässä materiaalissa näkyvät tunnisteet on vaihdettu, ne eivät toimi.