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-addavaimesi tallentamiseen ssh-agentkirjoittamalla 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/configja avaa se muokkausta varten:

nano ~/.ssh/config

Mukautetun SSH-avaimen hallinta

Ensimmäinen asia, jonka aiomme ratkaista tämän configtiedoston avulla, on välttää tarvetta lisätä mukautettuja SSH-avaimia ssh-add. Olettaen, että yksityinen SSH-avain on nimetty ~/.ssh/id_rsa, lisää configtiedostoon seuraava:

Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes

Varmista seuraavaksi, että sitä ~/.ssh/id_rsaei ole, ssh-agentavaamalla toinen pääte ja suorittamalla seuraava komento:

ssh-add -D

Tämä komento poistaa kaikki avaimet tällä hetkellä aktiivisesta ssh-agentistunnosta.

Jos yrität nyt sulkea GitHub-arkiston, configtiedosto 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ä:

Avaimenperän käyttö

Mutta jos poistat avaimet ssh-agentkanssa ssh-add -Dtai 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- configtiedosto suorittamalla nano ~/.ssh/configja lisää seuraava:

Host * AddKeysToAgent yes UseKeychain yes

Tämän avulla aina kun suoritat, sshse etsii avaimet Avaimenperä-pääsystä. Jos se löytää sellaisen, sinulta ei enää kysytä salasanaa. Avaimet lisätään myös automaattisesti ssh-agentaina, kun käynnistät koneesi uudelleen.

Nyt kun tiedät uusien SSH-avainten luomisen ja useiden avainten hallinnan perusteet, mene ulos ja sshmielesi mukaan!