SSH-võtmete lisamine Ubuntu 20.04-le

Seadistage SSH-võtmete abil oma Ubuntu kaugserverisse turvaline paroolivaba sisselogimine

SSH on turvaline klient-server võrguprotokoll, mis aitab klientarvutil kaugserveriga ühendust luua ja sellega suhelda. SSH-ühendus tagab, et terminalis sisestatavad käsud saadetakse krüptitud kanali kaudu kaugserverisse.

Kaugserveriga ühenduse loomiseks kasutatakse kahte tüüpi autentimismehhanisme: paroolipõhine autentimine (aldis brute-force rünnakutele) ja SSH võtmetel põhinev autentimine (mis on väga turvaline).

SSH-võtmepõhise autentimise korral luuakse klientarvutis võtmepaar, mida nimetatakse avalikuks võtmeks ja privaatvõtmeks. Selle avaliku võtme koopia tehakse kättesaadavaks kaugserveris. Kui klient saadab serverile ühendusepäringu, genereerib server juhusliku stringi ja krüpteerib selle avaliku võtmega. Seda stringi saab dekrüpteerida ainult klientarvutis saadaoleva privaatvõtme abil. See meetod tagab, et serverile pääsevad juurde ainult privaatvõtit sisaldavad kliendid.

Selles juhendis näeme, kuidas Ubuntu 20.04 LTS-serveris SSH-võtmeid seadistada.

Vaadake, kas teie arvutis on SSH-võti

Kontrollimaks, kas teie arvutis on SSH-võtmepaar juba olemas, tippige see käsk oma terminali.

ls -l ~/.ssh/id_*.pub

Kui ülaltoodud käsk naaseb sellist faili või kataloogi pole või Ei leitud ühtegi vastet, siis tähendab see, et SSH-võtmepaari pole olemas.

Kui teil on olemasolev SSH-võtmepaar, saate kahele kaugserverile juurdepääsuks kasutada sama võtmepaari või luua ka erineva võtmepaari, millel on erinev nimi. Liigume edasi järgmise sammu juurde ja vaatame, kuidas mõlemal juhul SSH-võtmeid genereerida.

SSH-võtmete loomine kliendiarvutis

Uue SSH-võtmepaari loomiseks arvutis tippige allpool näidatud käsk.

ssh-keygen

Vaikimisi on SSH-võtmed 2048-bitised. Parema turvalisuse huvides, kui soovite genereerida suuremate bittidega SSH-võtmeid, kasutage järgmist käsku.

ssh-keygen -b 4096

Kui käsk töötab edukalt, kuvatakse ekraanil järgmine teade.

avaliku/privaatse rsa võtmepaari loomine. Sisestage fail, kuhu võtme salvestada (/home/harshit/.ssh/id_rsa):

Kui teie arvutis pole SSH-võtmepaari, vajutage lihtsalt nuppu Sisenema, kuid kui teil on olemasolev SSH-võti, salvestage võti teise failinimega, nagu allpool näidatud.

Sisestage fail, kuhu võtme salvestada (/home/your_name/.ssh/id_rsa): /home/your_name/.ssh/id_rsa_xxx

Asendage xxx failinime lõpus sobiva nimega, nagu allpool näidatud, ja vajutage Sisenema.

Sisestage fail, kuhu võtme salvestada (/home/your_name/.ssh/id_rsa): /home/your_name/.ssh/id_rsa_client_1

Järgmine viip palub teil sisestada suvalise pikkusega parooli, see tagab teie seadme kahetasemelise turvalisuse.

Sisestage parool (tühi parooli puudumisel): sisestage sama parool uuesti:

Selle parooli sisestamine tagab, et isegi kui inimene saab juurdepääsu teie privaatvõtmele, ei pääse ta teie kaugserverile ilma selle paroolita juurde.

Kui kogu protsess on lõpule viidud, ilmub ekraanile järgmine teade.

ssh-keygen -b 4096 Kui kogu SSH-võtme genereerimise protsess on lõppenud, ilmub ekraanile järgmine teade.

SSH-võtmed on teie süsteemis loodud. Nüüd on aeg kopeerida avalik võti kaugserveris.

Avaliku võtme kopeerimine Ubuntu kaugserverisse

Lihtsaim ja kiireim viis avaliku võtme kopeerimiseks kaugserverisse on kasutada ssh-copy-id kasulikkust. Kuid kui see utiliit pole teie masinas mingil põhjusel saadaval, võite kasutada ka muid selles jaotises toodud meetodeid.

Ssh-copy-id utiliidi kasutamine

The ssh-copy-id utiliit on vaikimisi saadaval teie Ubuntu masinas, mis kopeerib teie seadme avaliku võtme teie Ubuntu kaugmasina vastavasse kataloogi.

Avaliku ssh-võtme kopeerimiseks tippige lihtsalt käsk oma terminali, nagu allpool näidatud.

ssh-copy-id kasutajanimi@hostinimi

Asendage kasutajanimi ja hostinimi ülaltoodud käsus koos teie serveri kasutajanime ja hostinimega.

Järgmine teade kuvatakse teie terminalis, kui loote hostiga esimest korda ühenduse, tippige jah ja vajutage Sisenema.

Hosti „172.105.XX.XX (172.105.XX.XX)” autentsust ei saa kindlaks teha. ECDSA võtme sõrmejälg on xx:xx:xx:xx:77:fe:73:xx:xx:55:00:ad:d6:xx:xx:xx. Kas olete kindel, et soovite ühenduse loomist jätkata (jah/ei)? jah

Nüüd on ssh-copy-id utiliit otsib faili nimega id_rsa.pub mis sisaldab avalikku SSH-võtit. Kui skannimisprotsess on lõppenud, palutakse teil sisestada kaugserveri parool, nagu allpool näidatud. Sisestage parool ja vajutage Sisenema.

/usr/bin/ssh-copy-id: INFO: proovime sisse logida uue(te) võtme(te)ga, et filtreerida välja kõik, mis on juba installitud /usr/bin/ssh-copy-id: INFO: 1 võti(d) ) tuleb installida – kui teil nüüd küsitakse, tuleb installida uued võtmed [email protected] parool:

Kui võti on lisatud, kuvatakse teie terminalis väljundina järgmine teade.

Lisatud võtme(te) arv: 1 Proovige nüüd masinasse sisse logida, kasutades: "ssh '[email protected]'" ja veenduge, et oleks lisatud ainult soovitud võti(d).

Kui teie klientarvutis on mitu SSH-võtit, tippige vastava avaliku võtme kopeerimiseks oma kaugarvutisse käsk allpool näidatud mustri järgi.

ssh-copy-id -i id_rsa_xxx.pub kasutajanimi@host

💡 Näpunäide

Ärge unustage terminali tippides failinime lõppu panna .pub.

Avaliku võtme kopeerimine torustike meetodil

Tippige terminali if järgmine käsk ssh-copy-id utiliit pole saadaval. See käsk võib tunduda pisut pikem, kuid see töötab korralikult.

kass ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

Asenda kaugkasutajanimi ja serveri_ip_aadress oma kasutajanime ja IP-aadressiga.

Kui teie arvutis on saadaval mitu SSH-võtit, asendage see id_rsa.pub teie valitud avaliku SSH-võtme failiga. Näiteks, id_rsa_client_1.pub.

Sisestage küsimisel kaugkasutaja parool ja klõpsake nuppu Sisenema.

Kasutaja [email protected] parool:

Pärast parooli sisestamist, id_rsa.pub fail kopeeritakse kausta volitatud_võtmed kaugserveri faili.

Avaliku võtme käsitsi kopeerimine

Kasutage seda meetodit, kui teil pole parooliga autentimise kaudu juurdepääsu kaugsüsteemile.

Ava id_rsa.pub faili kasutades kass käsk terminalis. Avada saab ka tekstiredaktorist, eesmärk on lihtsalt faili sisu kopeerida.

kass ~/.ssh/id_rsa.pub

Faili sisu näeb välja selline, nagu allpool näidatud.

ssh- rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQComjFtuHvHQ67uf3RXg2wgK4EtxBvBvLCtlc4chG + nJ1cbuJjJ6G8az4xsRN1Q7hrV4dYR81Tk3gRApiMdGcMvInU3Vb7Wq3nh9GS4xnLRH1wvb149wogum2MycIES69Xh0cib + VvJyZ + dGO8zRNT64 + SvfiecRV0llnBGWDRqrIGtMHJkKz7VDKuSyzDit / Ck1NFXxC6Plw3cEMOhWHycm8bnSHSoVpr95ySxxnokX4 / 9iAlvOovxTpMpmDaDvuHKgHxcsOv9Q4sz // 6Hy / 65 + qqmiuLyuIQXjDiiYTjHTx + VNi6S0iMLoN6XgDLp0MfG6kLvZ0Z + csqdvIDQfMuH teie_nimi @ your_PC

Nüüd logige sisse oma kaugserverisse ja kleepige kopeeritud sisu alloleva käsu abil. Asendage eespool_string koos kopeeritud sisuga.

echo above_string >> ~/.ssh/authorized_keys

Mitme SSH-võtme konfigureerimine (valikuline)

See samm on mõeldud inimestele, kelle klientarvutis on seadistatud mitu SSH-võtit. Jätke see jaotis vahele, kui teil on ainult üks SSH-võtme seadistus.

Mitme SSH-võtme haldamiseks loome nüüd a konfig faili sees .ssh kataloogis, kasutades allpool näidatud käsku.

cd ~/.ssh vim config

Tüüp i käsurežiimi sisenemiseks ja mitme hosti üksikasjade tippimiseks, nagu on näidatud järgmises näites:

Hosti kaug-ubuntu-serveri hostinimi 172.105.XX.XX kasutaja juuridentiteedifail ~/.ssh/id_rsa_client_1 host-ubuntu-serveri hostinimi 172.106.XX.XX kasutaja juuridentiteedifail ~/.ssh/id_rsa_client_

Samamoodi sisestage teiste kaugserverite ja nende võtmete andmed. Kui protsess on lõppenud, vajutage Esc ja :wq salvestamiseks ja väljumiseks.

Nüüd on järgnevad protsessid samad, kui klientarvutis on üks või mitu SSH-võtit.

Logige SSH-võtmete abil oma kaugserverisse sisse

Kui teie avaliku võtme kopeerimine on lõpetatud, logige oma kaugserverisse sisse, tippides käsu, nagu allpool näidatud.

ssh kaugkasutajanimi@serveri_ip_aadress

Kui sisestasite parooli võtmepaari loomise ajal, palutakse teil see sisestada. Pärast autentimisprotsessi lõppu avaneb uus seanss.

Olete nüüd edukalt konfigureerinud oma kaugserveris SSH-võtmepõhise autentimise. Kuid paroolipõhine autentimine on teie serveris endiselt aktiivne, mis tähendab, et teie kaugserver on endiselt altid jõhkratele rünnakutele.

Nüüd keelame paroolipõhise sisselogimismehhanismi täielikult oma kaugserverist.

Keela paroolipõhine sisselogimismehhanism

Enne muudatuste tegemist veenduge, et teie kaugkonto juurkasutil või sudo toega kasutajal oleks SSH-võtmepõhist autentimissüsteemi kasutades juurdepääs teie serverile. See samm lukustab või keelab paroolipõhise sisselogimise täielikult, seega on ülioluline, et vähemalt ühel kasutaja juurõigusel oleks juurdepääs serverile SSH-võtme kaudu.

Logige sisse oma Ubuntu kaugserverisse ja tippige allpool näidatud käsk.

sudo vim /etc/ssh/sshd_config
  • Vajutage Esc, / ja tippige "Password Authentication" ja vajutage sisenema.
  • Nüüd vajuta i ja muutke "PasswordAuthentication yes" väärtuseks "PasswordAuthentication ei".
  • Vajutage Esc ja korrake ülaltoodud protsessi, et leida „ChallengeResponseAuthentication”, „UsePAM” ja muuta nende väärtused ei samuti.
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM nr

Kui kõik väärtused on seatud ei, vajutage Esc, tüüp :wq ja tabas sisenema.

Kõigi muudatuste aktiveerimiseks taaskäivitage ssh teenust, kasutades allolevat käsku.

sudo systemctl taaskäivitage ssh

Nüüd avage arvutis uus terminaliaken ja kontrollige enne praeguse seansi sulgemist, et teie SSH-võtme autentimine töötab korralikult.

Kui kinnitamisprotsess on lõppenud, sulgege kõik töötavad seansid.

Oleme nüüd edukalt konfigureerinud oma Ubuntu 20.04 serveris SSH-võtmepõhise autentimise. Nüüd ei saa keegi paroolipõhise sisselogimismehhanismi abil teie serverisse sisse logida.