Ultimate Guide to SSH - SSH-avainten määrittäminen
Tervetuloa lopulliseen oppaasemme SSH (Secure Shell) -avainten määrittämiseen. Tässä opetusohjelmassa opastetaan SSH-avainten luomisen perusteet ja kuinka hallitaan useita avaimia ja avainpareja.
Luo uusi SSH-avainpari
Avaa pääte ja suorita seuraava komento:
ssh-keygen
Näet seuraavan tekstin:
Generating public/private rsa key pair. Enter file in which to save the key (/home/username/.ssh/id_rsa):
Tallenna näppäimet oletushakemistoon painamalla Enter-näppäintä /home/username/.ssh
.
Sitten sinua pyydetään antamaan salasana:
Enter passphrase (empty for no passphrase):
Suosittelemme, että kirjoitat salasanan tähän lisäturvaa varten. Asettamalla salasanan voit estää luvattoman pääsyn palvelimillesi ja tileillesi, jos joku saa koskaan käsiinsä yksityisen SSH-avaimesi tai koneesi.
Kun olet syöttänyt ja vahvistanut salasanasi, näet seuraavat:
Your identification has been saved in /home/username/.ssh/id_rsa. Your public key has been saved in /home/username/.ssh/id_rsa.pub. The key fingerprint is: SHA256:/qRoWhRcIBTw0D4KpTUyK6YepyL6RQ2CQrtWsaicCb4 [email protected] The key's randomart image is: +---[RSA 2048]----+ | .o=+.... | |+.*o+o . | |+X.=o o | |@.=.oo . | |=O ...o S | |o.oo . . | |.E+ . . . . | |oo . ... + | |=.. .o. . . | +----[SHA256]-----+
Sinulla on nyt julkinen ja yksityinen SSH-avainpari, jonka avulla voit käyttää etäpalvelimia ja käsitellä todennusta komentoriviohjelmilla, kuten Git.
Hallitse useita SSH-avaimia
Vaikka pidetään hyvänä käytäntönä olla vain yksi julkisen ja yksityisen avaimen pari laitetta kohti, joskus sinun on käytettävä useita avaimia tai sinulla on epätavallisia avainten nimiä. Saatat esimerkiksi käyttää yhtä SSH-avainparia yrityksesi sisäisten projektien parissa, mutta saatat käyttää eri avainta asiakkaan palvelimiin pääsemiseen. Tämän lisäksi saatat käyttää eri avainparia päästäksesi omaan yksityiseen palvelimeesi.
SSH-avainten hallinta voi tulla hankalaksi heti, kun joudut käyttämään toista avainta. Perinteisesti käytit ssh-add
avaimesi tallentamiseen ssh-agent
kirjoittamalla kunkin avaimen salasanan. Ongelmana on, että sinun on tehtävä tämä joka kerta, kun käynnistät tietokoneen uudelleen, mikä voi nopeasti tulla tylsäksi.
Parempi ratkaisu on automatisoida avainten lisääminen, tallentaa salasanat ja määrittää, mitä avainta käytetään tiettyjä palvelimia käytettäessä.
SSH config
Syötä SSH config
, joka on käyttäjäkohtainen määritystiedosto SSH-viestintää varten. Luo uusi tiedosto: ~/.ssh/config
ja avaa se muokkausta varten:
nano ~/.ssh/config
Mukautetun SSH-avaimen hallinta
Ensimmäinen asia, jonka aiomme ratkaista tämän config
tiedoston avulla, on välttää tarvetta lisätä mukautettuja SSH-avaimia ssh-add
. Olettaen, että yksityinen SSH-avain on nimetty ~/.ssh/id_rsa
, lisää config
tiedostoon seuraava:
Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes
Varmista seuraavaksi, että sitä ~/.ssh/id_rsa
ei ole, ssh-agent
avaamalla toinen pääte ja suorittamalla seuraava komento:
ssh-add -D
Tämä komento poistaa kaikki avaimet tällä hetkellä aktiivisesta ssh-agent
istunnosta.
Jos yrität nyt sulkea GitHub-arkiston, config
tiedosto käyttää avainta osoitteessa ~/.ssh/ida_rsa
.
Tässä on joitain muita hyödyllisiä esimerkkejä kokoonpanosta:
Host bitbucket-corporate HostName bitbucket.org User git IdentityFile ~/.ssh/id_rsa_corp IdentitiesOnly yes
Nyt voit käyttää git clone [email protected]:company/project.git
Host bitbucket-personal HostName bitbucket.org User git IdentityFile ~/.ssh/id_rsa_personal IdentitiesOnly yes
Nyt voit käyttää git clone [email protected]:username/other-pi-project.git
Host myserver HostName ssh.username.com Port 1111 IdentityFile ~/.ssh/id_rsa_personal IdentitiesOnly yes User username IdentitiesOnly yes
Nyt voit SSH: n palvelimeesi käyttämällä ssh myserver
. Sinun ei enää tarvitse kirjoittaa porttia ja käyttäjänimeä joka kerta, kun SSH on yksityisessä palvelimessasi.
Salasanojen hallinta
Palapelin viimeinen osa on salasanojen hallinta. Salasanan syöttäminen voi olla erittäin tylsä joka kerta, kun alustat SSH-yhteyden. Tämän kiertämiseksi voimme käyttää salasananhallintaohjelmistoa, joka tulee macOS: n ja erilaisten Linux-jakelujen mukana.
Tässä opetusohjelmassa käytämme macOS: n Avainnipun käyttöohjelmaa. Aloita lisäämällä avain Avainnipun käyttöoikeuteen välittämällä komento -K
-vaihtoehto ssh-add
:
ssh-add -K ~/.ssh/id_rsa_whatever
Nyt näet SSH-avaimesi Avaimenperä-pääsyssä:

Mutta jos poistat avaimet ssh-agent
kanssa ssh-add -D
tai käynnistä tietokone uudelleen, sinulta kysytään salasanaa uudelleen, kun yrität käyttää SSH. Osoittautuu, että on vielä yksi kehä, jonka läpi voi hypätä. Avaa SSH- config
tiedosto suorittamalla nano ~/.ssh/config
ja lisää seuraava:
Host * AddKeysToAgent yes UseKeychain yes
Tämän avulla aina kun suoritat, ssh
se etsii avaimet Avaimenperä-pääsystä. Jos se löytää sellaisen, sinulta ei enää kysytä salasanaa. Avaimet lisätään myös automaattisesti ssh-agent
aina, kun käynnistät koneesi uudelleen.
Nyt kun tiedät uusien SSH-avainten luomisen ja useiden avainten hallinnan perusteet, mene ulos ja ssh
mielesi mukaan!