SSH atslēgu iestatīšana un paroles atslēgšana

chmod tiesību kalkulators

Atzīmējiet tiesības vai ievadiet oktālo skaitli — saņemsiet simbolisko pierakstu un komandu chmod.
Lasīšana (r)Rakstīšana (w)Izpilde (x)
Īpašnieks
Grupa
Pārējie
Simboliskirw-r--r--
chmod 644 fails

Pieteikšanās ar SSH atslēgām ir drošāka par paroli: atslēgu nav iespējams uzminēt ar uzlaušanu, un pieteikšanās notiek, neievadot noslēpumu. Iestatīšana aizņem trīs soļus: ģenerēt atslēgu, nokopēt to uz serveri, atslēgt paroli. Apskatīsim katru.

Kā darbojas SSH atslēgas

Atslēga sastāv no failu pāra: privātās (glabājas tikai pie jums) un publiskās (tiek novietota serverī). Pieslēdzoties serveris pārbauda, ka jums ir privātā atslēga, kas atbilst publiskajai, — nepārsūtot pašu noslēpumu.

1. solis. Ģenerējiet atslēgu pāri

Savā datorā (nevis serverī) izpildiet:

ssh-keygen -t ed25519 -C "my-laptop"

ed25519 ir mūsdienīgs un ātrs algoritms. Ja klients ir vecs, izmantojiet RSA:

ssh-keygen -t rsa -b 4096 -C "my-laptop"

Programma prasīs ceļu (pēc noklusējuma ~/.ssh/id_ed25519) un paroles frāzi. Paroles frāze aizsargā atslēgu, ja fails tiktu nozagts, — iesakām to uzstādīt.

Rezultātā parādīsies divi faili:

  • ~/.ssh/id_ed25519 — privātā atslēga (nevienam nedot);
  • ~/.ssh/id_ed25519.pub — publiskā atslēga.

2. solis. Nokopējiet atslēgu uz serveri

Vienkāršākais veids ir ar utilītu ssh-copy-id:

ssh-copy-id deploy@JUSU_IP

Tā vienu reizi prasīs lietotāja paroli un pievienos jūsu publisko atslēgu failā ~/.ssh/authorized_keys serverī.

Ja ssh-copy-id nav pieejams (piemēram, Windows vidē), nokopējiet atslēgu manuāli:

cat ~/.ssh/id_ed25519.pub | ssh deploy@JUSU_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

3. solis. Pārbaudiet pieteikšanos ar atslēgu

Atvienojieties un pieslēdzieties vēlreiz:

ssh deploy@JUSU_IP

Ja pieteikšanās notika bez paroles pieprasījuma (vai prasīja tikai atslēgas paroles frāzi) — viss darbojas. Neatslēdziet paroli, kamēr neesat pārliecinājies, ka atslēga strādā.

4. solis. Atslēdziet pieteikšanos ar paroli

Atveriet SSH servera konfigurāciju:

sudo nano /etc/ssh/sshd_config

Atrodiet un pielāgojiet šos parametrus:

PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin prohibit-password

Saglabājiet failu un pārstartējiet pakalpojumu:

sudo systemctl restart ssh

Daļā sistēmu pakalpojums saucas sshd — tad sudo systemctl restart sshd.

Failu tiesības

SSH stingri pārbauda tiesības. Ja pieteikšanās ar atslēgu nedarbojas, pārbaudiet:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Kopsavilkuma kontrolsaraksts

Solis Komanda
Ģenerēt atslēgu ssh-keygen -t ed25519
Nokopēt uz serveri ssh-copy-id user@ip
Pārbaudīt pieteikšanos ssh user@ip
Atslēgt paroli PasswordAuthentication no
Pārstartēt SSH systemctl restart ssh

Biežāk uzdotie jautājumi

Ko darīt, ja pazaudēta privātā atslēga? Atjaunot to nav iespējams. Pieslēdzieties caur KVM konsoli servera vadības panelī, pievienojiet jaunu publisko atslēgu failā authorized_keys, bet veco izdzēsiet.

Vai vienu atslēgu var izmantot vairākos serveros? Jā, publisko atslēgu var pievienot jebkuram skaitam serveru. Privātā paliek viena un glabājas pie jums.

Kā pievienot otra datora atslēgu? Ģenerējiet pāri otrajā ierīcē un pievienojiet tās publisko atslēgu atsevišķā rindā failā authorized_keys. Katra atslēga — sava rinda.

Vai ir droši pilnībā atslēgt paroli? Jā, tā ir ieteicamā prakse: tā izslēdz paroles uzminēšanu. Galvenais — saglabāt rezerves piekļuvi caur KVM konsoli gadījumam, ja atslēga pazūd.

Kopsavilkums

Pieteikšanās ar atslēgām novērš galveno ievainojamību — paroles uzminēšanu. Pēc iestatīšanas un PasswordAuthentication atslēgšanas serveris kļūst manāmi drošāks, bet pieteikšanās — ātrāka.

Vēlaties patrenēties savā serverī? Paņemiet Linux VPS, noformējiet VPS nomu vai uzticiet iestatīšanu sadaļā Serveru administrēšana.

Kristaps Bērziņš