SSH-i ülim juhend - SSH-võtmete seadistamine

Tere tulemast meie lõpliku juhise juurde SSH (Secure Shell) võtmete seadistamiseks. Selles õpetuses tutvustatakse SSH-võtmete loomise põhitõdesid ja ka seda, kuidas hallata mitut võtit ja võtmepaari.

Looge uus SSH-võtmepaar

Avage terminal ja käivitage järgmine käsk:

ssh-keygen

Näete järgmist teksti:

Generating public/private rsa key pair. Enter file in which to save the key (/home/username/.ssh/id_rsa):

Võtmete vaikekataloogi salvestamiseks vajutage sisestusklahvi /home/username/.ssh.

Seejärel palutakse teil sisestada parool:

Enter passphrase (empty for no passphrase):

Turvalisuse lisamiseks on soovitatav siia sisestada parool. Parooli määramisega võite ära hoida volitamata juurdepääsu oma serveritele ja kontodele, kui keegi saab kunagi kätte teie privaatse SSH-võtme või teie masina.

Pärast parooli sisestamist ja kinnitamist näete järgmist:

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]-----+

Teil on nüüd avalik ja privaatne SSH-võtmepaar, mida saate kasutada kaugserveritele juurdepääsu saamiseks ja käsureaprogrammide (näiteks Git) autentimiseks.

Mitme SSH-võtme haldamine

Ehkki peetakse heaks tavaks, et seadme kohta on ainult üks avaliku ja privaatse võtme paar, peate mõnikord kasutama mitut võtit või teil on ebatraditsioonilised võtmete nimed. Näiteks võite kasutada oma ettevõtte siseprojektide töötamiseks ühte SSH-võtmepaari, kuid võite kasutada kliendi serveritele juurdepääsemiseks teist võtit. Lisaks võite oma privaatserverisse pääsemiseks kasutada mõnda muud võtmepaari.

SSH-võtmete haldamine võib muutuda kohmakaks kohe, kui peate kasutama teist võtit. Traditsiooniliselt kasutasite ssh-addvõtmete salvestamiseks ssh-agent, sisestades iga võtme parooli. Probleem on selles, et peate seda tegema iga kord, kui taaskäivitate arvuti, mis võib kiiresti tüütuks muutuda.

Parem lahendus on võtmete lisamise automatiseerimine, paroolide salvestamine ja teatavate serverite juurde pääsemiseks kasutatava võtme täpsustamine.

SSH config

Sisestage SSH config, mis on SSH -ühenduse kasutajafaili konfiguratsioonifail. Looge uus fail ~/.ssh/configja avage see redigeerimiseks:

nano ~/.ssh/config

Kohandatud nimega SSH-võtme haldamine

Esimene asi, mida selle configfaili abil lahendame, on vältida kohandatud nimega SSH-võtmete lisamist ssh-add. Eeldades, et teie privaatne SSH-võti on nime saanud ~/.ssh/id_rsa, lisage configfaili järgmised andmed :

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

Järgmisena veenduge, et ~/.ssh/id_rsaseda pole ssh-agent, avades teise terminali ja käivitades järgmise käsu:

ssh-add -D

See käsk eemaldab kõik aktiivse ssh-agentseansi võtmed .

Kui proovite nüüd GitHubi hoidlat sulgeda, kasutab teie configfail võtit aadressil ~/.ssh/ida_rsa.

Siin on mõned muud kasulikud konfiguratsiooninäited:

Host bitbucket-corporate HostName bitbucket.org User git IdentityFile ~/.ssh/id_rsa_corp IdentitiesOnly yes

Nüüd saate seda kasutada git clone [email protected]:company/project.git

Host bitbucket-personal HostName bitbucket.org User git IdentityFile ~/.ssh/id_rsa_personal IdentitiesOnly yes

Nüüd saate seda kasutada 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

Nüüd saate SSH-i oma serverisse kasutada ssh myserver. Te ei pea enam sisestama porti ja kasutajanime iga kord, kui SSH oma privaatserverisse sisestate.

Paroolide haldamine

Mõistatuse viimane osa on paroolide haldamine. Iga kord, kui alustate SSH-ühendust, võib parooli sisestamine olla väga tüütu. Sellest pääsemiseks saame kasutada paroolihaldustarkvara, mis on kaasas macOS-i ja erinevate Linuxi distributsioonidega.

Selle õpetuse jaoks kasutame macOS-i programmi Keychain Access. Alustage võtme lisamisega võtmehoidja juurdepääsule, edastades käsule -Kvaliku ssh-add:

ssh-add -K ~/.ssh/id_rsa_whatever

Nüüd näete võtmehoidja juurdepääsu kaudu oma SSH-võtit:

Juurdepääs võtmehoidjale

Aga kui sa eemaldad võtmed ssh-agentkoos ssh-add -Dvõi taaskäivitage arvuti, siis küsitakse parooli uuesti, kui sa püüad kasutada SSH. Selgub, et hüppamiseks on veel üks rõngas. Avage oma SSH- configfail käivitades nano ~/.ssh/configja lisage järgmine:

Host * AddKeysToAgent yes UseKeychain yes

Sellega sshotsib iga käivitamisel võtmeid võtmehoidja juurdepääs. Kui see leitakse, ei küsita teilt enam parooli. Samuti lisatakse võtmed automaatselt ssh-agentiga kord, kui arvuti taaskäivitate.

Nüüd, kui teate uute SSH-võtmete loomise ja mitme võtme haldamise põhitõdesid, minge välja ja sshoma südames!