La Dviejų veiksnių autentifikavimas (2FA) nėra unikalus dalykas, kurį galima naudoti socialiniuose tinkluose arba bet kurioje kitoje svetainėje. Na, ši saugumo priemonė taip pat gali būti įdiegta operacinėje sistemoje.
Štai kodėl Šiandien pamatysime, kaip „Ubuntu“ įdiegti dviejų veiksnių autentifikavimą SSH ir išvestinės priemonės naudojant gerai žinomą „Google“ autentifikavimo priemonę, kuri žymiai padidins jūsų „OpenSSH“ serverio saugumą.
Paprastai jums tiesiog reikia įvesti slaptažodį arba naudoti SSH raktą, kad prisijungtumėte prie sistemos nuotoliniu būdu.
Norint prisijungti prie dviejų veiksnių autentifikavimo (2FA), reikia įvesti dvi informacijos dalis.
Todėl, norėdami prisijungti prie savo SSH serverio, taip pat turėsite įvesti vienkartinį slaptažodį pagal laiką.
Šis vienkartinis slaptažodis apskaičiuojamas naudojant TOTP algoritmą, kuris yra IETF standartas.
„Google Authenticator“ diegimas ir konfigūravimas „Ubuntu“ ir dariniuose
Pirmasis žingsnis, kurį ketiname atlikti, yra „Google Authenticator“ įdiegimas į mūsų sistemą, todėl sistemoje atidarysime terminalą (tai galima padaryti naudojant klavišų kombinaciją „Ctrl + Alt + T“) ir jame įveskite šią komandą:
sudo apt install libpam-google-authenticator
Diegimas atliktas paleisime naujai įdiegtą programą naudodami šią komandą:
google-authenticator
Vykdydami šią komandą, mes ketiname priskirti slaptą raktą ir tai paklaus mūsų, ar norime naudoti žetonus pagal laiką, į kurį atsakysime taip.
Po šito, jie pamatys QR kodą, kurį galės nuskaityti naudodami TOTP programą savo telefone.
Čia Rekomenduojame naudoti „Google Authenticator“ programą mobiliajame telefone.taip, kad galėtumėte įdiegti programą per „Google Play“ arba „Apple App Store“ savo mobiliajame telefone.
Jau turėdami programą telefone turite nuskaityti QR kodą. Atminkite, kad norėdami nuskaityti visą QR kodą, turite padidinti terminalo langą.
QR kodas reiškia slaptą raktą, kurį žino tik jos SSH serveris ir „Google Authenticator“ programa.
Nuskaitę QR kodą, jie savo telefone gali pamatyti unikalų šešiaženklį žetoną. Pagal numatytuosius nustatymus šis prieigos raktas trunka 30 sekundžių ir jį reikia įvesti, kad prisijungtumėte prie „Ubuntu“ per SSH.
Terminale taip pat galėsite pamatyti slaptą kodą, taip pat patvirtinimo kodą ir avarinio paleidimo kodą.
Iš kurios mes rekomenduojame laikyti šią informaciją saugioje vietoje, kad būtų galima naudoti vėliau. Iš kitų mums užduodamų klausimų paprasčiausiai atsakysime teigiamai, įvesdami y raidę.
SSH konfigūracija, kurią reikia naudoti su „Google“ autentifikavimo priemone
Jau skaičiuoju į tai, kas išdėstyta pirmiau, Dabar atliksime reikiamą konfigūraciją, kad galėtume naudoti SSH ryšį mūsų sistemoje su „Google Authenticator“.
Terminale vMes ketiname įvesti šią komandą
sudo nano /etc/ssh/sshd_config
Bylos viduje ieškosime šių eilučių ir pakeisime jas į „taip“ taip:
UsePAM yes ChallengeResponseAuthentication yes
Atlikę pakeitimus, išsaugokite pakeitimus, atliktus naudojant „Ctrl“ + O, ir uždarykite failą naudodami „Ctrl“ + X.
Tame pačiame terminale mes iš naujo paleisime SSH su:
sudo systemctl restart ssh
Pagal numatytuosius nustatymus autentifikavimui reikia įvesti vartotojo slaptažodį prisijungti.
Taigi redaguokime SSH demono PAM taisyklių failą.
sudo nano /etc/pam.d/sshd
Šio failo pradžioje galite pamatyti šią eilutę, kuri įgalina slaptažodžio autentifikavimą
ChallengeResponseAuthentication
Kurį turime nustatyti taip.
Norėdami taip pat įgalinti vienkartinį slaptažodžio autentifikavimą, pridėkite šias dvi eilutes.
@include common-auth #One-time password authentication via Google Authenticator auth required pam_google_authenticator.so
Išsaugokite ir uždarykite failą.
Nuo šiol kiekvieną kartą, kai jie prisijungs prie jūsų sistemos per SSH ryšį, jie bus paraginti įvesti vartotojo slaptažodį ir patvirtinimo kodą (vienkartinį slaptažodį, kurį sugeneruoja „Google Authenticator“).
Sveiki, gana paprasta pamoka, tačiau kai atliksiu visus veiksmus, kurių nebegaliu įvesti per ssh, tai iškelia neteisingą slaptažodžio klaidą, net negaliu paprašyti 2FA.
Turiu „Ubuntu Server 20.04“