Kā pievienot SSH atslēgas Ubuntu 20.04

Iestatiet drošu pieteikšanos bez paroles savā attālajā Ubuntu serverī, izmantojot SSH atslēgas

SSH ir drošs klienta-servera tīkla protokols, kas palīdz klienta datoram izveidot savienojumu un sazināties ar attālo serveri. SSH savienojums nodrošina, ka terminālī ievadītās komandas tiek nosūtītas uz attālo serveri, izmantojot šifrētu kanālu.

Lai izveidotu savienojumu ar attālo serveri, tiek izmantoti divu veidu autentifikācijas mehānismi: uz paroli balstīta autentifikācija (tiek pakļauta brutāla spēka uzbrukumiem) un uz SSH atslēgām balstīta autentifikācija (kas ir ļoti droša).

Uz SSH atslēgām balstītā autentifikācijā klienta datorā tiek ģenerēts atslēgu pāris, ko sauc par publisko atslēgu un privāto atslēgu. Šīs publiskās atslēgas kopija ir pieejama attālajā serverī. Kad klients serverim nosūta savienojuma pieprasījumu, serveris ģenerē nejaušu virkni un šifrē to, izmantojot publisko atslēgu. Šo virkni var atšifrēt, tikai izmantojot klienta datorā pieejamo privāto atslēgu. Šī metode nodrošina, ka serverim var piekļūt tikai tie klienti, kuriem ir privātā atslēga.

Šajā rokasgrāmatā mēs redzēsim, kā iestatīt SSH atslēgas Ubuntu 20.04 LTS serverī.

Pārbaudiet, vai jūsu datorā ir kāda SSH atslēga

Lai pārbaudītu, vai jūsu datorā jau pastāv SSH atslēgu pāris, ierakstiet šo komandu terminālī.

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

Ja iepriekš minētā komanda atgriežas Nav tāda faila vai direktorijas vai sakritības nav atrastas, tas nozīmē, ka SSH atslēgu pāris nepastāv.

Ja jums ir esošs SSH atslēgu pāris, varat izmantot vienu un to pašu atslēgu pāri, lai piekļūtu diviem attāliem serveriem, vai arī varat izveidot citu atslēgu pāri ar citu nosaukumu. Pāriesim pie nākamās darbības un redzēsim, kā ģenerēt SSH atslēgas abos gadījumos.

SSH atslēgu izveide klienta datorā

Lai datorā izveidotu jaunu SSH atslēgu pāri, ierakstiet komandu, kā parādīts tālāk.

ssh-keygen

Pēc noklusējuma SSH atslēgām ir 2048 biti. Lai nodrošinātu labāku drošību, ja vēlaties ģenerēt SSH atslēgas ar lielākiem bitiem, izmantojiet šo komandu.

ssh-keygen -b 4096

Ja komanda tiek izpildīta veiksmīgi, ekrānā tiks parādīts šāds ziņojums.

ģenerējot publisko/privāto RSA atslēgu pāri. Ievadiet failu, kurā saglabāt atslēgu (/home/harshit/.ssh/id_rsa):

Tagad, ja jūsu datorā nav neviena SSH atslēgu pāra, vienkārši nospiediet Ievadiet, bet, ja jums ir esoša SSH atslēga, saglabājiet atslēgu ar citu faila nosaukumu, kā parādīts tālāk.

Ievadiet failu, kurā saglabāt atslēgu (/home/your_name/.ssh/id_rsa): /home/your_name/.ssh/id_rsa_xxx

Nomainiet xxx faila nosaukuma beigās ar atbilstošu nosaukumu, kā parādīts zemāk, un nospiediet Ievadiet.

Ievadiet failu, kurā saglabāt atslēgu (/home/your_name/.ssh/id_rsa): /home/your_name/.ssh/id_rsa_client_1

Nākamajā uzvednē jums tiks lūgts ievadīt patvaļīga garuma ieejas frāzi, tas nodrošinās jūsu ierīces divu līmeņu drošību.

Ievadiet ieejas frāzi (tukšs, ja ieejas frāze nav): ievadiet to pašu ieejas frāzi vēlreiz:

Ievadot šo ieejas frāzi, tiks nodrošināts, ka pat tad, ja persona saņems piekļuvi jūsu privātajai atslēgai, viņš nevarēs piekļūt jūsu attālajam serverim bez šīs ieejas frāzes.

Kad viss process ir pabeigts, ekrānā tiek parādīts šāds ziņojums.

ssh-keygen -b 4096 Kad viss SSH atslēgas ģenerēšanas process ir pabeigts, ekrānā tiek parādīts šāds ziņojums.

SSH atslēgas ir ģenerētas jūsu sistēmā. Tagad ir pienācis laiks kopēt publisko atslēgu attālajā serverī.

Publiskās atslēgas kopēšana uz attālo Ubuntu serveri

Vienkāršākā un ātrākā metode publiskās atslēgas kopēšanai uz attālo serveri ir, izmantojot ssh-copy-id lietderība. Bet, ja šī utilīta kāda iemesla dēļ jūsu datorā nav pieejama, varat izmantot arī citas šajā sadaļā sniegtās metodes.

Izmantojot utilītu ssh-copy-id

The ssh-copy-id utilīta pēc noklusējuma ir pieejama jūsu Ubuntu mašīnā, kas kopē publisko atslēgu no jūsu ierīces uz atbilstošo attālās Ubuntu mašīnas direktoriju.

Lai kopētu publisko ssh atslēgu, vienkārši ierakstiet komandu terminālī, kā parādīts zemāk.

ssh-copy-id lietotājvārds@resursdatora nosaukums

Nomainiet lietotājvārds un resursdatora nosaukums iepriekš minētajā komandā ar jūsu servera lietotājvārdu un resursdatora nosaukumu.

Ja pirmo reizi izveidojat savienojumu ar resursdatoru, terminālī tiks parādīts šāds ziņojums, ierakstiet un nospiediet Ievadiet.

Nevar noteikt saimniekdatora “172.105.XX.XX (172.105.XX.XX)” autentiskumu. ECDSA atslēgas pirksta nospiedums ir xx:xx:xx:xx:77:fe:73:xx:xx:55:00:ad:d6:xx:xx:xx. Vai tiešām vēlaties turpināt savienojumu (jā/nē)? 

Tagad ssh-copy-id utilīta meklēs failu ar nosaukumu id_rsa.pub kas satur publisko SSH atslēgu. Kad skenēšanas process būs pabeigts, tas liks ievadīt attālā servera paroli, kā parādīts tālāk. Ierakstiet paroli un nospiediet Ievadiet.

/usr/bin/ssh-copy-id: INFO: mēģinājums pieteikties ar jauno(-ām) atslēgu(-ām), lai filtrētu visas jau instalētās /usr/bin/ssh-copy-id: INFO: 1 atslēga(s) ).

Kad atslēga ir pievienota, jūsu terminālī kā izvade parādīsies šāds ziņojums.

Pievienotās atslēgas(-u) skaits: 1 Tagad mēģiniet pieteikties iekārtā ar: "ssh '[email protected]'" un pārbaudiet, vai ir pievienota tikai vēlamā atslēga.

Ja jūsu klienta datorā ir vairākas SSH atslēgas, tad, lai kopētu atbilstošo publisko atslēgu uz attālo datoru, ierakstiet komandu tālāk parādītajā shēmā.

ssh-copy-id -i id_rsa_xxx.pub lietotājvārds@host

💡 Padoms

Rakstot terminālī, faila nosaukuma beigās neaizmirstiet ievietot .pub.

Publiskās atslēgas kopēšana, izmantojot cauruļvadu metodi

Terminālī ierakstiet šādu komandu if ssh-copy-id lietderība nav pieejama. Šī komanda var šķist nedaudz garāka, taču tā darbojas pareizi.

kaķis ~/.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"

Aizvietot attālais_lietotājvārds un servera_ip_adrese ar savu lietotājvārdu un IP adresi.

Ja jūsu datorā ir pieejamas vairākas SSH atslēgas, nomainiet tās id_rsa.pub ar jūsu izvēlēto publisko SSH atslēgas failu. Piemēram, id_rsa_client_1.pub.

Kad tiek prasīts, ierakstiet attālā lietotāja paroli un nospiediet Ievadiet.

[email protected] parole:

Kad esat ievadījis paroli, id_rsa.pub fails tiks kopēts uz Authorized_keys attālā servera failu.

Publiskās atslēgas manuāla kopēšana

Izmantojiet šo metodi, ja jums nav piekļuves attālajai sistēmai, izmantojot paroles autentifikāciju.

Atveriet id_rsa.pub failu, izmantojot kaķis komanda terminālī. Varat to atvērt arī no teksta redaktora, mērķis ir tikai kopēt faila saturu.

kaķis ~/.ssh/id_rsa.pub

Faila saturs izskatīsies tā, kā parādīts tālāk.

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

Tagad piesakieties savā attālajā serverī un ielīmējiet kopēto saturu, izmantojot tālāk norādīto komandu. Nomainiet virs_virknes ar kopēto saturu.

echo above_string >> ~/.ssh/authorized_keys

Vairāku SSH atslēgu konfigurēšana (pēc izvēles)

Šis solis ir paredzēts cilvēkiem, kuru klienta datorā ir iestatītas vairākas SSH atslēgas. Izlaidiet šo sadaļu, ja jums ir tikai viena SSH atslēgas iestatīšana.

Lai pārvaldītu vairākas SSH atslēgas, mēs tagad izveidosim a konfigurācija fails iekšpusē .ssh direktorijā, izmantojot tālāk norādīto komandu.

cd ~/.ssh vim config

Tips i lai pārietu uz komandu režīmu un ievadītu informāciju par vairākiem saimniekiem, kā parādīts šajā piemērā:

Host remote-ubuntu-server HostName 172.105.XX.XX Lietotāja saknes identitātes fails ~/.ssh/id_rsa_client_1 Host remote-ubuntu-server HostName 172.106.XX.XX Lietotāja saknes identitātes fails ~/.ssh/id_rsa_client_

Līdzīgi ierakstiet informāciju par citiem attālajiem serveriem un to atslēgām. Kad process ir pabeigts, nospiediet Esc un :wq lai saglabātu un izietu.

Tagad turpmākie procesi ir vienādi, ja klienta datorā ir viena vai vairākas SSH atslēgas.

Piesakieties savā attālajā serverī, izmantojot SSH atslēgas

Kad publiskās atslēgas kopēšanas process ir pabeigts, piesakieties savā attālajā serverī, ierakstot komandu, kā parādīts tālāk.

ssh attālais_lietotājvārds@servera_ip_adrese

Ja ievadījāt ieejas frāzi, ģenerējot atslēgu pāri, jums tiks piedāvāts to ievadīt. Pēc autentifikācijas procesa pabeigšanas tiks atvērta jauna sesija.

Tagad esat veiksmīgi konfigurējis SSH atslēgām balstītu autentifikāciju savā attālajā serverī. Bet uz paroli balstītā autentifikācija joprojām ir aktīva jūsu serverī, tas nozīmē, ka attālinātais serveris joprojām ir pakļauts brutāla spēka uzbrukumiem.

Tāpēc tagad mēs pilnībā atspējosim uz paroli balstīto pieteikšanās mehānismu no mūsu attālā servera.

Atspējot uz paroli balstītu pieteikšanās mehānismu

Pirms izmaiņu veikšanas pārliecinieties, vai jūsu attālā konta root lietotājam vai jebkuram lietotājam, kuram ir iespējota sudo, ir piekļuve jūsu serverim, izmantojot uz SSH atslēgām balstītu autentifikācijas sistēmu. Šī darbība pilnībā bloķēs vai atspējos uz paroli balstītu pieteikšanos, tāpēc ir ļoti svarīgi, lai vismaz vienam lietotāja root tiesībām būtu piekļuve serverim, izmantojot SSH atslēgu.

Piesakieties savā attālajā Ubuntu serverī un ierakstiet tālāk redzamo komandu.

sudo vim /etc/ssh/sshd_config
  • Nospiediet Esc, / un ierakstiet “Password Authentication” un nospiediet ievadiet.
  • Tagad nospiediet i un mainiet “Password Authentication yes” vērtību uz “Password Authentication no”.
  • Nospiediet Esc un atkārtojiet iepriekš minēto procesu, lai atrastu “ChallengeResponseAuthentication”, “UsePAM” un mainītu to vērtības uz arī.
PasswordAuthentication nav ChallengeResponseAuthentication nav UsePAM nr

Kad visas vērtības ir iestatītas uz , nospiediet Esc, tips :wq un sit ievadiet.

Lai aktivizētu visas izmaiņas, restartējiet ssh pakalpojumu, izmantojot tālāk norādīto komandu.

sudo systemctl restartējiet ssh

Tagad datorā atveriet jaunu termināļa logu un pirms pašreizējās sesijas aizvēršanas pārbaudiet, vai SSH atslēgas autentifikācija darbojas pareizi.

Kad verifikācijas process ir pabeigts, aizveriet visas darbojošās sesijas.

Tagad esam veiksmīgi konfigurējuši uz SSH atslēgu balstītu autentifikāciju mūsu Ubuntu 20.04 serverī. Tagad neviens nevar pieteikties jūsu serverī, izmantojot uz paroli balstītu pieteikšanās mehānismu.