Na kratko, SSH ali 'varna lupina' je šifriran protokol, s katerim se lahko na daljavo povežete s strežnikom in imate dostop do informacij, povezanih z njim. Zagotavlja veliko varnejši način prijave in zagotavlja varen način prijave brez ogrožanja varnosti.
1. korak: Ustvarite par ključev
Najprej bomo ustvarili par ključev v odjemalčevem sistemu s korenskim dostopom po vrsti v naslednjem:
$ssh-keygen
To sproži najnovejši ssh-keygen, da privzeto ustvari 3072-bitni par ključev RSA. Če želite ustvariti večji ključ, lahko dodate zastavico –b 4086. Pritisnite enter in par ključev bo shranil v podimenik .ssh/. Upoštevajte: če ste gost na strežniku, na katerem je že nameščen ključ, vas bo poziv vprašal, ali ga želite prepisati ali ne. V tem primeru vnesite 'y', da označite da.
Nato vas bo poziv vprašal, ali želite dodati geslo. Lahko se odjavite, vendar vam priporočamo, da ga dodate. Okrepi varnostni protokol tako, da nepooblaščenemu uporabniku ponudi dodatno plast zaščite, ki jo mora obiti.
Korak: Kopirajte javni ključ v strežnik
Nato moramo javni ključ prenesti na vaš strežnik ubuntu.
Pripomoček ssh-copy-id lahko uporabite z naslednjim ukazom:
$ssh-copy-id uporabniško ime@server_host
To bi moralo uspeti v nekaj sekundah. Če je bil ključ uspešno kopiran, pojdite na tretji korak.
Včasih se zgodi, da metoda ssh-copy-id ne uspe ali preprosto ni na voljo. V tem primeru ga boste morali kopirati prek SSH, ki temelji na geslu. To lahko storite z ukazom cat in ne pozabite dodati simbola >>, da bi vsebino dodali, namesto da bi jo prepisali.
$mačka~/.ssh/id_rsa.pub| sshoddaljeno_ uporabniško ime@server_ip_address'mkdir -p ~/.ssh && cat >> ~/.ssh/pooblaščeni_ključi'
Če se prvič povezujete z novim gostiteljem, vam bo sistem pokazal nekaj takega:
Samo vnesite yes in pritisnite gumb Enter. Nato vnesite geslo do računa za dostop uporabnika in javni ključ bo kopiran na vaš strežnik Ubuntu.
Če vam dostop SSH na osnovi gesla zaradi nekega razloga ne morete določiti, lahko vedno preprosto ročno kopirate javni ključ. Dodajte ~/.ssh/authorized_keys v datoteko id_rsa.pub na oddaljenem računalniku. Nato se prijavite v račun oddaljenega strežnika in preverite, ali obstaja imenik ~ SSH. Če ni, vnesite:
$mkdir -str~/.ssh
Zdaj morate samo dodati ključ:
$vrgel venpublic_key_string>>~/.ssh/pooblaščeni_ključi$chmod -R pojdi= ~/.ssh
Prepričajte se tudi, da uporabljate ~ SSH/ UPORABNIK imenik in NE korenski imenik:
$chown -Ryounis: younis ~/.ssh
3. korak: Preverite pristnost ključev SSH
Naslednji korak je preverjanje pristnosti ključev SSH na strežniku Ubuntu. Najprej se prijavite v oddaljeni gostitelj:
$sshuporabniško ime@remote_host
Pozvani boste, da vnesete ključ za geslo, ki ste ga dodali v 2. koraku. Vnesite ga in nadaljujte. Preverjanje pristnosti bo trajalo nekaj časa in ko bo opravljeno, boste preusmerjeni v novo interaktivno lupino na strežniku Ubuntu
4. korak: Onemogočite preverjanje pristnosti gesla
Ker so ključi SSH overjeni, ne potrebujete več sistema za preverjanje pristnosti z geslom.
Če je na vašem strežniku omogočeno preverjanje pristnosti gesla, bo še vedno nagnjen k nepooblaščenemu dostopu uporabnikov prek napadov z grobo silo. Zato bi bilo bolje, če onemogočite preverjanje pristnosti na podlagi gesla.
Najprej preverite, ali imate za datoteko koren račun na tem strežniku. Če je, ga morate spremeniti v račun privilegiranega uporabniškega dostopa sudo na tem strežniku, tako da vam bo skrbniški dostop odprt v primeru nujnih primerov ali ko se sistem sooča s sumljivimi dejavnostmi.
Ko ste svojemu računu za oddaljeni dostop podelili skrbniške pravice, se prijavite v oddaljeni strežnik s ključi SSH s korenskimi ali sudo pravicami. Nato za dostop do konfiguracijske datoteke demona SSH uporabite naslednji ukaz:
$sudogedit/itd/ssh/sshd_config
Ko je datoteka odprta, poiščite imenik »PasswordAuthentication« in vnesite naslednje, da onemogočite preverjanje pristnosti gesla in prijave na SSH na podlagi gesla.
$/itd/ssh/sshd_config. . .
GesloAvtentifikacija št
. . .
Če želite videti te spremembe v veljavi, boste morali znova zagnati storitev sshd z naslednjim ukazom:
$sudoponovni zagon systemctlssh
Iz varnostnih razlogov odprite novo terminalsko okno in preverite, ali storitev SSH deluje pravilno, preden zaprete trenutno sejo.
S preverjenimi ključi SSH bi morali videti, da vse deluje normalno. Zapustite lahko vse trenutne seje strežnika.
Zaključek
Zdaj, ko imate vzpostavljen sistem za preverjanje pristnosti na osnovi ključa SSH, ne potrebujete več ranljivega sistema za preverjanje pristnosti gesla, saj se lahko preprosto prijavite brez gesla. Upam, da vam je bila ta vadnica v pomoč.