La Kahefaktoriline autentimine (2FA) pole midagi ainulaadset, mida saaks sotsiaalmeedias kasutada või mõnel muul veebisaidil. Noh, seda turvameedet saab rakendada ka opsüsteemis.
See on põhjus, miks Täna näeme, kuidas rakendada kahefaktorilist autentimist SSH-s Ubuntu ja derivaadid, kasutades tuntud Google Authenticatorit, mis suurendab märkimisväärselt teie OpenSSH-serveri turvalisust.
Tavaliselt peate oma süsteemi kauglogimiseks lihtsalt sisestama parooli või kasutama SSH-võtit.
Kahefaktoriline autentimine (2FA) nõuab sisselogimiseks kahe teabe sisestamist.
Seetõttu peate oma SSH-serverisse sisselogimiseks sisestama ka ajapõhise ühekordse parooli.
See ühekordne parool arvutatakse TOTP-algoritmi abil, mis on IETF-i standard.
Google Authenticatori installimine ja konfigureerimine Ubuntus ja derivaatides
Esimene samm, mille teeme, on Google Authenticatori installimine meie süsteemi, nii et avame süsteemis terminali (seda saab teha klahvikombinatsiooniga "Ctrl + Alt + T) ja sinna kirjutame järgmise käsu:
sudo apt install libpam-google-authenticator
Paigaldamine tehtud käivitame äsja installitud rakenduse järgmise käsuga:
google-authenticator
Selle käsu täitmisel määrame salajase võtme ja see küsib meilt, kas me tahame kasutada märke aja põhjal, millele me vastame jah.
Pärast seda, nad näevad QR-koodi, mida nad saavad oma telefonis TOTP-rakenduse abil skannida.
Siin Soovitame oma mobiilis kasutada rakendust Google Authenticator.Nii saate rakenduse installida oma mobiiltelefoni Google Play või Apple App Store'i kaudu.
Rakendus on juba telefonis olemas, peate sellega QR-koodi skannima. Pidage meeles, et kogu QR-koodi skannimiseks peate terminaliakent suurendama.
QR-kood tähistab salajast võtit, mida teavad ainult tema SSH-server ja rakendus Google Authenticator.
Kui QR-kood on skannitud, näevad nad oma telefonis ainulaadset kuuekohalist märki. Vaikimisi kestab see märk 30 sekundit ja see tuleb sisestada, et logida Ubuntu SSH kaudu.
Terminalis näete ka salakoodi, samuti kinnituskoodi ja hädaabinumbrit.
Sellest soovitame teil hoida teavet hilisemaks kasutamiseks kindlas kohas. Muudest küsimustest, mis meile esitatakse, vastame lihtsalt jah, kirjutades tähe y.
SSH seadistamine Google Authenticatoriga kasutamiseks
Juba eeltooduga arvestades Nüüd teeme vajaliku konfiguratsiooni, et saaksime oma süsteemis SSH-ühendust kasutada Google Authenticatoriga.
Terminalis vTippime järgmise käsu
sudo nano /etc/ssh/sshd_config
Faili sees otsime järgmisi ridu ja muudame need "jah", järgmiselt:
UsePAM yes ChallengeResponseAuthentication yes
Kui muudatused on tehtud, salvestage Ctrl + O abil tehtud muudatused ja sulgege fail klahvikombinatsiooniga Ctrl + X.
Samas terminalis taaskäivitame SSH:
sudo systemctl restart ssh
Vaikimisi nõuab autentimine, et nad sisestaksid sisselogimiseks kasutaja parooli.
Nii et redigeerime SSH-deemoni PAM-reeglite faili.
sudo nano /etc/pam.d/sshd
Selle faili alguses näete järgmist rida, mis võimaldab parooli autentimist
ChallengeResponseAuthentication
Milleks peame seadma jah.
Ühekordse parooliga autentimise lubamiseks lisage järgmised kaks rida.
@include common-auth #One-time password authentication via Google Authenticator auth required pam_google_authenticator.so
Salvestage ja sulgege fail.
Nüüdsest palutakse neil iga kord, kui nad SSH-ühenduse kaudu teie süsteemi sisse logivad, sisestada kasutaja parool ja kinnituskood (Google Authenticatori loodud ühekordne parool).
Tere, üsna lihtne õpetus, aga kui olen teinud kõik toimingud, mida ma ei saa enam ssh kaudu sisestada, viskab see mulle vale paroolivea, ma ei saa isegi 2FA-d küsida.
Mul on Ubuntu Server 20.04