La Divu faktoru autentifikācija (2FA) nav kaut kas unikāls, ko var izmantot sociālajos medijos vai jebkurā citā vietnē. Nu, šo drošības pasākumu var ieviest arī operētājsistēmā.
Tas ir iemesls, kāpēc Šodien mēs redzēsim, kā ieviest divu faktoru autentifikāciju SSH Ubuntu un atvasinājumi, izmantojot labi zināmo Google autentifikatoru, kas ievērojami palielinās jūsu OpenSSH servera drošību.
Parasti, lai attālināti pieteiktos sistēmā, jums vienkārši jāievada parole vai jāizmanto SSH atslēga.
Divu faktoru autentifikācijai (2FA) ir jāpiesakās, lai pieteiktos divas informācijas daļas.
Tāpēc, lai pieteiktos savā SSH serverī, jums būs jāievada arī vienreizēja parole, kas balstīta uz laiku.
Šī vienreizējā parole tiek aprēķināta, izmantojot TOTP algoritmu, kas ir IETF standarts.
Google Authenticator instalēšana un konfigurēšana Ubuntu un atvasinājumi
Pirmais solis, ko mēs veiksim, ir Google Authenticator instalēšana mūsu sistēmā, tāpēc mēs sistēmā atvērsim termināli (to var izdarīt ar taustiņu kombināciju “Ctrl + Alt + T), un tajā mēs ierakstīsim šādu komandu:
sudo apt install libpam-google-authenticator
Instalācija pabeigta mēs palaidīsim tikko instalēto lietojumprogrammu ar šādu komandu:
google-authenticator
Izpildot šo komandu, mēs piešķiram slepeno atslēgu, un tas mums jautās, vai mēs vēlamies izmantot marķierus, pamatojoties uz laiku, uz kuru mēs atbildēsim jā.
Pēc tam, viņi redzēs QR kodu, kuru viņi var skenēt, izmantojot TOTP lietotni savā tālrunī.
Šeit Mēs iesakām izmantot mobilajā tālrunī lietojumprogrammu Google Authenticator.il, lai jūs varētu instalēt lietojumprogrammu, izmantojot Google Play vai Apple App Store savā mobilajā tālrunī.
Lietojumprogramma jau atrodas tālrunī, ar to jums ir jāskenē QR kods. Paturiet prātā, ka jums ir jāpalielina termināla logs, lai skenētu visu QR kodu.
QR kods apzīmē slepeno atslēgu, kuru zina tikai tā SSH serveris un lietotne Google Authenticator.
Pēc QR koda skenēšanas viņi savā tālrunī var redzēt unikālu sešciparu marķieri. Pēc noklusējuma šis marķieris ilgst 30 sekundes, un tas ir jāievada, lai pieteiktos Ubuntu, izmantojot SSH.
Terminālā jūs varēsiet redzēt arī slepeno kodu, kā arī verifikācijas kodu un avārijas sākuma kodu.
Mēs iesakām jums saglabāt šo informāciju drošā vietā vēlākai izmantošanai. No citiem jautājumiem, kas mums tiek uzdoti, mēs vienkārši atbildēsim jā, ierakstot burtu y.
Tiek iestatīts SSH lietošanai kopā ar Google Authenticator
Jau rēķinoties ar iepriekš minēto, Tagad mēs veiksim nepieciešamo konfigurāciju, lai varētu izmantot SSH savienojumu mūsu sistēmā ar Google Authenticator.
Termināla vMēs ierakstīsim šādu komandu
sudo nano /etc/ssh/sshd_config
Faila iekšpusē mēs meklēsim šādas rindas un mainīsim tās uz "jā" šādi:
UsePAM yes ChallengeResponseAuthentication yes
Kad izmaiņas ir veiktas, saglabājiet izmaiņas, kas veiktas, izmantojot Ctrl + O, un aizveriet failu ar Ctrl + X.
Tajā pašā terminālā mēs restartēsim SSH ar:
sudo systemctl restart ssh
Pēc noklusējuma autentifikācijai ir jāievada lietotāja parole, lai pieteiktos.
Par ko rediģēsim SSH dēmona PAM noteikumu failu.
sudo nano /etc/pam.d/sshd
Šī faila sākumā varat redzēt šādu rindu, kas ļauj autentificēt paroli
ChallengeResponseAuthentication
Kas mums jānosaka jā.
Lai iespējotu arī vienreizēju paroles autentifikāciju, pievienojiet šīs divas rindiņas.
@include common-auth #One-time password authentication via Google Authenticator auth required pam_google_authenticator.so
Saglabājiet un aizveriet failu.
Turpmāk katru reizi, kad viņi piesakās jūsu sistēmā, izmantojot SSH savienojumu, viņiem tiks lūgts ievadīt lietotāja paroli un verifikācijas kodu (vienreizējo paroli, ko ģenerējusi Google Authenticator).
Sveiki, diezgan vienkārša apmācība, tomēr, kad es veicu visas darbības, kuras vairs nevaru ievadīt, izmantojot ssh, tas man uzrāda nepareizu paroles kļūdu, es pat nevaru pieprasīt 2FA.
Man ir Ubuntu Server 20.04