Preverjanje pristnosti ključa SSH v programu PuTTY

Preverjanje pristnosti ključa SSH v programu PuTTY

Uvod

V tem vodniku se boste naučili, kako nastaviti avtentikacijo, temelječo na ključih SSH, z uporabo PuTTY, priljubljenega odjemalca SSH za Windows. Z uporabo avtentikacije na podlagi ključev namesto avtentikacije z geslom lahko povečate varnost vaše povezave SSH. Avtentikacija na podlagi ključev zagotavlja, da se lahko prijavijo samo tisti, ki imajo ustrezen zasebni ključ, kar zagotavlja varnejšo in zanesljivejšo metodo avtentikacije.

V tem vodniku bomo obravnavali postopek nastavitve avtentikacije s ključi SSH z uporabo PuTTY in odjemalske aplikacije.

Pomembno varnostno opozorilo: Zasebni ključ mora biti strogo zaupen. Nikoli ga ne delite z drugimi osebami, ne shranjujte ga na nezavarovanih napravah in uporabite geslo za dodatno zaščito ključa. Če je ključ ogrožen, nemudoma ustvarite nov par ključev in posodobite datoteko authorized_keys na strežniku.

1) Generiranje ključev

PuTTYgen je orodje iz paketa PuTTY, zasnovano predvsem za Windows, za generiranje parov ključev SSH in pretvorbo njihovih formatov. Njegova glavna funkcija je ustvarjanje parov javnih in zasebnih ključev, ki jih je mogoče shraniti v formatu .ppk (specifičnem za PuTTY). Poleg tega lahko PuTTYgen pretvori ključe med formati, kar zagotavlja združljivost z različnimi odjemalci in strežniki SSH, kot je OpenSSH.

PuTTYgen ustvari pare ključev, ki so sestavljeni iz javnega ključa, ki ga je mogoče deliti, in zasebnega ključa, ki mora ostati zaupen. Javni ključ se uporablja za avtentikacijo pri povezovanju z oddaljenimi strežniki.

Format .ppk je specifičen za PuTTY, vendar lahko PuTTYgen pretvori ključe v druge formate, kot je OpenSSH.

Alternativa: Generiranje ključev v PuTTYgen

Ključe lahko ustvarite neposredno v PuTTYgen na računalniku z operacijskim sistemom Windows brez uporabe strežnika Linux. To storite tako:

  1. Odprite PuTTYgen.
  2. Izberite vrsto ključa (npr. RSA ali EdDSA) in velikost (priporočeno 2048 bitov ali več). Preverjanje pristnosti ključa SSH v programu PuTTY
  3. Kliknite Generate in premikajte miško, da ustvarite entropijo.                                   Preverjanje pristnosti ključa SSH v programu PuTTY
  4. Shranite javni ključ (kopirajte besedilo iz polja „Public key for pasting into OpenSSH authorized_keys file“) in zasebni ključ kot datoteko .ppk. Preverjanje pristnosti ključa SSH v programu PuTTY
  5. Dodajte javni ključ v datoteko ~/.ssh/authorized_keys na strežniku (glej spodaj).

V tem vodniku se bomo osredotočili na generiranje ključev na strežniku Linux z uporabo ssh-keygen in njihovo naknadno pretvorbo za PuTTY.

Predpogoji

Pred začetkom se prepričajte, da imate naslednje komponente:

  1. PuTTY in PuTTYgen — Prenesite jih z uradne spletne strani. PuTTYgen je del paketa PuTTY.
  2. Strežnik Linux z nameščenim OpenSSH (običajno vnaprej nameščen v večini distribucij).
  3. Dostop SSH do strežnika z geslom (za začetno nastavitev ključev).
  4. Izbirno: Geslo za zaščito ključev (priporočeno za večjo varnost).

Preverjanje konfiguracije strežnika

Pred generiranjem ključev se prepričajte, da je avtentikacija s ključi omogočena na strežniku. Odprite datoteko /etc/ssh/sshd_config (z administratorskimi pravicami):

sudo nano /etc/ssh/sshd_config

Preverite, ali je vrstica PubkeyAuthentication yes prisotna in ni zakomentirana. Če ste naredili spremembe, shranite datoteko in znova zaženite storitev SSH:

sudo systemctl restart sshd

(V nekaterih distribucijah: sudo service ssh restart.)

Korak za korakom: Generiranje ključev v Linuxu

Povežite se s strežnikom prek SSH z geslom (z uporabo PuTTY ali drugega odjemalca) in izvedite naslednje korake kot uporabnik, pod katerim se želite avtenticirati (iz varnostnih razlogov priporočljivo, da to ni root; po potrebi uporabite sudo).

Zaženite orodje ssh-keygen. Pozvalo vas bo, da določite lokacijo za shranjevanje ključev (privzeto: ~/.ssh/id_rsa) in nastavite geslo (priporočeno za dodatno zaščito; pritisnite Enter, da preskočite).

ssh-keygen -t rsa -b 2048

(Izbirno: Uporabite -t ed25519 za novejši algoritem.)

V imeniku ~/.ssh sta zdaj dve datoteki:

  • id_rsa — zasebni ključ.
  • id_rsa.pub — javni ključ.

Oglejte si ključe (izbirno, za preverjanje):

cat ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub

Pojdite v imenik ~/.ssh (če še niste tam):

cd ~/.ssh

Dodajte javni ključ v datoteko authorized_keys (uporabite >>, da ne prepišete obstoječe vsebine):

cat id_rsa.pub >> authorized_keys

Nastavite pravilna dovoljenja (ključna za delovanje SSH):

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

Po teh korakih je strežnik pripravljen za sprejemanje povezav, temelječih na ključih. Znova zaženite storitev SSH, če ste spremenili konfiguracijo:

sudo systemctl restart sshd

2) Pretvorba ključa in avtentikacija s PuTTY

Prenesite zasebni ključ (id_rsa) s strežnika na vaš lokalni računalnik z operacijskim sistemom Windows in ga pretvorite v format .ppk za PuTTY.

Prenos ključa na lokalni računalnik

Uporabite scp (iz paketa PuTTY — pscp.exe) ali drugo varno metodo. Primer s pscp (zaženite v ukazni vrstici Windows):

pscp user@server_ip:~/.ssh/id_rsa C:\path\to\local\id_rsa

(Zamenjajte user@server_ip s svojimi podatki in C:\path\to\local z lokalno potjo.)

Opozorilo: Nikoli ne prenašajte ključa prek nezavarovanih kanalov (npr. e-pošte). Uporabljajte šifrirane metode.

Pretvorba v format .ppk z PuTTYgen

Odprite PuTTYgen na Windows.

Preverjanje pristnosti ključa SSH v programu PuTTY

Kliknite Load in izberite datoteko id_rsa (PuTTYgen podpira format OpenSSH).

Preverjanje pristnosti ključa SSH v programu PuTTY

Če je ključ zaščiten z geslom, vnesite geslo.

Preverjanje pristnosti ključa SSH v programu PuTTY

Po nalaganju kliknite Save private key in shranite datoteko kot .ppk (npr. mykey.ppk). Strinjajte se s shranjevanjem brez gesla, če ne želite dodatnega gesla (čeprav je priporočljivo).

Nastavitev PuTTY za uporabo ključa

Odprite PuTTY.

V glavnem oknu vnesite naslov IP strežnika, vrata (običajno 22) in vrsto povezave SSH.

Pojdite v Connection → SSH → Auth → Credentials.

V polju Private key file for authentication določite pot do datoteke .ppk.

Preverjanje pristnosti ključa SSH v programu PuTTY

Izbirno: Za samodejno prijavo pojdite v Connection → Data in vnesite uporabniško ime (npr. root ali vaš uporabnik) v polje Auto-login username.

Shranite sejo za udobje in se povežite.

Ob povezavi bo PuTTY, če je ključ zaščiten z geslom, zahteval vnos gesla. Če je vse pravilno nastavljeno, se boste prijavili brez vnosa gesla strežnika.

Nasvet: Za upravljanje več ključev uporabite PuTTY Pageant (agent ključev iz paketa PuTTY). Naložite datoteko .ppk v Pageant, in PuTTY jo bo samodejno uporabil.

Zaključek

Z nastavitvijo avtentikacije s ključi SSH s PuTTY in strežnikom Linux vzpostavite varnejšo in zanesljivejšo povezavo. Uporaba ključev SSH odpravlja potrebo po vnosu gesel, kar zmanjšuje tveganje za napade z grobo silo in prestrezanje. Sledite korakom, opisanim v tem vodniku, da nastavite avtentikacijo s ključi SSH s PuTTY in uživate v prednostih.

Dodatni nasveti: Redno posodabljajte svoje ključe, spremljajte dnevniške datoteke strežnika (/var/log/auth.log) in onemogočite avtentikacijo z geslom v sshd_config (PasswordAuthentication no), če so ključi edini način prijave. Če pride do težav, preverite dovoljenja datotek in konfiguracijo strežnika.