Šis procesas buvo atliktas Ubuntu 14.04 su standartiniu "Unity" darbalaukiu ir "LightDM" prisijungimo tvarkytuvu, tačiau daugelyje "Linux" paskirstymo ir stalinių kompiuterių principai yra vienodi.
Anksčiau parodėme, kaip reikalauti "Google Authenticator" nuotolinės prieigos per SSH, ir šis procesas yra panašus. Tai nereikalauja "Google" autentifikavimo priemonės programos, bet veikia su bet kokia suderinama programa, kuri įgyvendina TOTP autentifikavimo schemą, įskaitant "Authy".
Įdiekite "Google" autentifikavimo priemonės PAM
Kaip ir nustatant SSH prieigą, pirmiausia turėsime įdiegti atitinkamą PAM ("plug-in-authentication module") programinę įrangą. PAM yra sistema, kuri leidžia mums įjungti "Linux" sistemos skirtingų tipų autentiškumo metodus ir reikalauti jų.
"Ubuntu" ši komanda įdiegs "Google Authenticator PAM". Atidarykite terminalo langą, įveskite šią komandą, paspauskite "Enter" ir pateikite savo slaptažodį. Sistema atsisiųs PAM iš jūsų "Linux" platinimo programinės įrangos saugyklų ir ją įdiekite:
sudo apt-get install libpam-google-authenticator
Kaip jau minėjome anksčiau, šis sprendimas nepriklauso nuo to, ar "skambina namo" į "Google" serverius. Jis įgyvendina standartinį TOTP algoritmą ir gali būti naudojamas net tada, kai jūsų kompiuteryje nėra interneto prieigos.
Sukurkite savo autentifikavimo raktus
Dabar turėsite sukurti slaptą autentifikavimo raktą ir įvesti jį į "Google" autentifikavimo priemonės programą (arba panašią) savo telefone. Pirma, prisiregistruokite kaip savo vartotojo abonementas savo "Linux" sistemoje. Atidarykite terminalo langą ir paleiskite google autentifikatorius komanda Įveskite y ir sekite instrukcijas čia. Tai sukurs specialų failą dabartinės vartotojo abonemento kataloge su "Google" autentifikavimo priemonės informacija.
Jūs taip pat turėsite eiti per tą dviejų veiksnių patvirtinimo kodą, kurį naudosite į "Google" autentifikavimo priemonę arba panašią TOTP programą savo išmaniajame telefone. Jūsų sistema gali sugeneruoti QR kodą, kurį galite nuskaityti, arba galite jį įvesti rankiniu būdu.
Įsitikinkite, kad pažymėjote savo avarinius įbrėžimų kodus, kuriuos galite naudoti, jei prarasite telefoną.
Aktyvinti autentiškumą
Štai kur viskas šiek tiek pasipildo. Kai paaiškinome, kaip įgalinti dvejetainius SSH prisijungimus, mums reikėjo tik SSH prisijungimų. Tai užtikrino, kad vis tiek galite prisijungti vietoje, jei praradote autentifikavimo programą arba kažkas nutiko.
Kadangi mes leisime dviejų veiksnių autentifikavimą vietiniams prisijungimams, čia yra galimų problemų. Jei kažkas negerai, jums gali nepavykti prisijungti. Atsižvelgdami į tai, mes pasistengsime jį įgalinti tik grafiniams prisijungimams. Tai jums suteikia avarinio liuko, jei to reikia.
Įgalinkite "Google" autentifikavimo priemonę, skirtą grafiniams prisijungimams Ubuntu
Visada galite įjungti dviejų žingsnių autentifikavimą tik grafiniams prisijungimams, praleidžiant reikalavimą prisijungdami iš teksto eilutės. Tai reiškia, kad galite lengvai pereiti prie virtualiojo terminalo, prisijungti ten ir grąžinti savo pakeitimus, todėl Gogole Authenciator nebus reikalingas, jei iškiltų problemų.
Žinoma, tai atveria jūsų autentifikavimo sistemos skylę, tačiau užpuolikas, turintis fizinę prieigą prie jūsų sistemos, vis tiek gali jį išnaudoti. Štai kodėl dviejų veiksnių autentifikavimas yra ypač efektyvus nuotoliniams prisijungimams naudojant SSH.
Štai kaip tai padaryti Ubuntu, kuri naudoja "LightDM" prisijungimo tvarkyklę. Atidarykite "LightDM" failą redagavimui naudodami tokią komandą:
sudo gedit /etc/pam.d/lightdm
(Atminkite, kad šie konkretūs veiksmai veiks tik tada, jei "Linux" paskirstymas ir staliniai kompiuteriai naudoja "LightDM" prisijungimo tvarkyklę.)
Į failo pabaigą įrašykite šią eilutę ir išsaugokite ją:
auth required pam_google_authenticator.so nullok
Galų gale "nullok" bitai nurodo sistemai leisti vartotojui prisijungti, net jei jis nenaudoja "google-autentifikavimo" komandos, kad nustatytų dviejų veiksnių autentifikavimą. Jei jie nustatė, jie turės įvesti laiko-baesd kodą - kitaip jie nebus. Pašalinkite "nullok", o vartotojų abonementai, kurie nenustatė "Google" autentifikavimo kodo, negalėsite prisijungti grafiškai.
Jei naudojate "Home Directory" šifravimą
Senesni "Ubuntu" leidimai pasiūlė lengvą "namų aplanko šifravimo" parinktį, kuri užšifravo visą jūsų namų katalogą, kol įvesite savo slaptažodį. Tiksliau, tai naudoja ecryptfs. Tačiau dėl to, kad PAM programinė įranga priklauso nuo "Google" autentifikavimo failo, saugomo jūsų namų kataloge pagal nutylėjimą, šifravimas trukdo PAM skaitant failą, nebent įsitikinote, kad jis yra prieinamas sistemai prieš įvesties būdą įprastoje formoje. Pasitarkite su README, norėdami gauti daugiau informacijos. informacija apie tai, kaip išvengti šios problemos, jei jūs vis dar naudojate atsisakiusių namų katalogų šifravimo parinktis.
Šiuolaikinės "Ubuntu" versijos siūlo visiškai užšifruoti šifruotą diską, o tai veiks gerai. Jums nereikia nieko ypatingo daryti
Pagalba, jis sugedo!
Kadangi mes tai įjungėme tik grafiniams prisijungimams, tai turėtų būti lengvai išjungti, jei tai sukelia problemą. Paspauskite klavišų kombinaciją, pvz., Ctrl + Alt + F2, kad galėtumėte pasiekti virtualų terminalą ir prisijungti ten naudodami savo vartotojo vardą ir slaptažodį. Tada galite naudoti komandą, pavyzdžiui, sudo nano /etc/pam.d/lightdm, kad atidarytumėte redagavimo failą terminalo teksto redaktoriuje. Naudokite mūsų "Nano" vadovą, kad pašalintumėte liniją ir išsaugotumėte failą, ir galėsite vėl prisijungti.
Daugiau informacijos apie tai, kaip naudoti ir nustatyti šį PAM modulį, rasite programinės įrangos README byloje GitHub.