La Dvofaktorska overitev (2FA) ni nekaj edinstvenega, kar bi lahko uporabili v družabnih medijih ali na kateri koli drugi spletni strani. No, ta varnostni ukrep se lahko izvede tudi v operacijskem sistemu.
To je razlog Danes bomo videli, kako uvesti dvofaktorsko overjanje v SSH v Ubuntuju in izvedeni finančni instrumenti, ki uporabljajo dobro znani Google Authenticator, kar bo znatno povečalo varnost vašega strežnika OpenSSH.
Običajno morate preprosto vnesti geslo ali uporabiti SSH ključ za oddaljeno prijavo v sistem.
Dvofaktorska overitev (2FA) zahteva vnos dveh podatkov za prijavo.
Zato boste morali vnesti tudi časovno enkratno geslo za prijavo v svoj SSH strežnik.
To enkratno geslo se izračuna z uporabo algoritma TOTP, ki je standard IETF.
Namestitev in konfiguracija Google Authenticatorja v Ubuntuju in izvedenih finančnih instrumentih
Prvi korak, ki ga bomo izvedli, je namestitev programa Google Authenticator v naš sistem, zato bomo v sistemu odprli terminal (to lahko storimo s kombinacijo tipk "Ctrl + Alt + T) in vanj vtipkamo naslednji ukaz:
sudo apt install libpam-google-authenticator
Namestitev končana zagnali bomo novo nameščeno aplikacijo z naslednjim ukazom:
google-authenticator
Pri izvajanju tega ukaza bomo dodelili skrivni ključ in ta nas bo vprašal, ali želimo žetone uporabljati glede na čas, na kar bomo odgovorili pritrdilno.
Po tem, videli bodo kodo QR, ki jo lahko optično preberejo z aplikacijo TOTP na svojem telefonu.
tukaj Priporočamo uporabo aplikacije Google Authenticator v mobilnem telefonu.tako lahko aplikacijo namestite prek Googla Play ali Apple App Store na svoj mobilni telefon.
Že imate aplikacijo v telefonu, morate z njo skenirati kodo QR. Upoštevajte, da morate povečati okno terminala za skeniranje celotne kode QR.
Koda QR predstavlja skrivni ključ, ki je znana le strežniku SSH in aplikaciji Google Authenticator.
Ko je QR koda optično prebrana, lahko na svojem telefonu vidijo edinstven šestmestni žeton. Ta žeton privzeto traja 30 sekund in ga je treba vnesti za prijavo v Ubuntu prek SSH.
V terminalu boste lahko videli tudi skrivno kodo, kot tudi kodo za preverjanje in kodo za zagon v sili.
Priporočamo, da te podatke hranite na varnem mestu za kasnejšo uporabo. Na druga vprašanja, ki nam jih zastavljamo, bomo preprosto odgovorili pritrdilno, tako da vtipkamo črko y.
Nastavitev SSH za uporabo z Google Authenticator
Že računam na zgoraj, Zdaj bomo naredili potrebno konfiguracijo, da bomo lahko uporabljali povezavo SSH v našem sistemu z Google Authenticator.
V terminalu vVtipkali bomo naslednji ukaz
sudo nano /etc/ssh/sshd_config
Znotraj datoteke poiskali bomo naslednje vrstice in jih spremenili v "da", in sicer:
UsePAM yes ChallengeResponseAuthentication yes
Ko so spremembe narejene, jih shranite s Ctrl + O in zaprite datoteko s Ctrl + X.
V istem terminalu bomo znova zagnali SSH z:
sudo systemctl restart ssh
Preverjanje pristnosti privzeto zahteva, da za prijavo vnesejo uporabniško geslo.
Torej to uredimo datoteko pravil PAM za demon SSH.
sudo nano /etc/pam.d/sshd
Na začetku te datoteke lahko vidite naslednjo vrstico, ki omogoča preverjanje pristnosti gesla
ChallengeResponseAuthentication
Kar moramo nastaviti na da.
Če želite omogočiti tudi enkratno preverjanje pristnosti gesla, dodajte naslednji dve vrstici.
@include common-auth #One-time password authentication via Google Authenticator auth required pam_google_authenticator.so
Shranite in zaprite datoteko.
Odslej bodo vsakič, ko se bodo v vaš sistem prijavili prek povezave SSH, morali vnesti uporabniško geslo in kodo za preverjanje (enkratno geslo, ki ga ustvari Google Authenticator).
Pozdravljeni, dokaj preprosta vadnica, vendar ko opravim vse korake, ki jih ssh ne morem več vnesti, mi prikaže napačno geslo, niti ne morem zahtevati 2FA.
Imam Ubuntu Server 20.04