For yderligere sikkerhed kan du kræve en tidsbaseret godkendelsestoken samt en adgangskode til at logge ind på din Linux-pc. Denne løsning bruger Google Authenticator og andre TOTP-apps.
Denne proces blev udført på Ubuntu 14.04 med standarden Enhed desktop og LightDM login manager, men principperne er de samme på de fleste Linux-distributioner og desktops.
Vi har tidligere vist dig hvordan man kræver Google Authenticator for fjernadgang via SSH , og denne proces er ens. Dette kræver ikke Google Authenticator-appen, men fungerer med enhver kompatibel app, der implementerer TOTP-godkendelsesplanen, herunder Authy .
Installer Google Authenticator PAM
RELATEREDE: Sådan sikres SSH med Google Authenticator Two-Factor Authentication
Som når vi konfigurerer dette til SSH-adgang, skal vi først installere den relevante PAM-software (“pluggable-authentication module”). PAM er et system, der giver os mulighed for at tilslutte forskellige typer godkendelsesmetoder til et Linux-system og kræve dem.
På Ubuntu installerer følgende kommando Google Authenticator PAM. Åbn et terminalvindue, skriv følgende kommando, tryk på Enter, og angiv din adgangskode. Systemet downloader PAM fra din Linux-distributions softwarelagre og installerer det:
sudo apt-get install libpam-google-authenticator
Andre Linux-distributioner skal forhåbentlig også have denne pakke tilgængelig til nem installation - åbn din Linux-distributionens softwarelager og udfør en søgning efter den. I værste fald kan du finde kildekoden til PAM-modulet på GitHub og kompilér det selv.
Som vi tidligere har påpeget, afhænger denne løsning ikke af "at ringe hjem" til Googles servere. Den implementerer standard TOTP-algoritmen og kan bruges, selv når din computer ikke har internetadgang.
Opret dine godkendelsesnøgler
Du skal nu oprette en hemmelig godkendelsesnøgle og indtaste den i appen Google Authenticator (eller en lignende) på din telefon. Log først ind som din brugerkonto på dit Linux-system. Åbn et terminalvindue, og kør google-authenticator kommando. Type Y og følg anvisningerne her. Dette opretter en speciel fil i den aktuelle brugerkontos bibliotek med Google Authenticator-oplysninger.
Du vil også blive gennemgået processen med at få den tofaktors verifikationskode ind i en Google Authenticator eller lignende TOTP-app på din smartphone. Dit system kan generere en QR-kode, du kan scanne, eller du kan indtaste den manuelt.
Sørg for at notere dine nødskrabekoder, som du kan bruge til at logge på med, hvis du mister din telefon.
Gennemgå denne proces for hver brugerkonto, der bruger din computer. Hvis du f.eks. Er den eneste person, der bruger din computer, kan du bare gøre det en gang på din normale brugerkonto. Hvis du har en anden, der bruger din computer, skal du lade dem logge ind på deres egen konto og generere en passende tofaktorkode til deres egen konto, så de kan logge ind.
Aktivér godkendelse
Her er hvor tingene bliver lidt dicy. Da vi forklarede, hvordan man aktiverer to-faktor for SSH-login, krævede vi det kun for SSH-login. Dette sikrede, at du stadig kunne logge ind lokalt, hvis du mistede din godkendelsesapp, eller hvis noget gik galt.
Da vi aktiverer tofaktorautentificering for lokale logins, er der potentielle problemer her. Hvis noget går galt, er du muligvis ikke i stand til at logge ind. Når vi husker det, vil vi lede dig igennem, så vi kun aktiverer dette for grafiske login. Dette giver dig en flugtluge, hvis du har brug for det.
Aktivér Google Authenticator til grafiske login på Ubuntu
Du kan altid aktivere totrinsgodkendelse for kun grafiske login, og springe kravet over, når du logger ind fra tekstprompten. Dette betyder, at du nemt kan skifte til en virtuel terminal, logge ind der og vende tilbage til dine ændringer, så Gogole Authenciator ikke er påkrævet, hvis du oplever et problem.
Sikker på, dette åbner et hul i dit godkendelsessystem, men en hacker med fysisk adgang til dit system kan allerede udnytte det alligevel . Derfor er tofaktorautentificering særlig effektiv til fjernlogins via SSH.
Sådan gør du det for Ubuntu, der bruger LightDM login manager. Åbn LightDM-filen til redigering med en kommando som følgende:
sudo gedit /etc/pam.d/lightdm
(Husk, disse specifikke trin fungerer kun, hvis din Linux-distribution og desktop bruger LightDM-loginmanageren.)
Tilføj følgende linje i slutningen af filen, og gem den derefter:
auth kræves pam_google_authenticator.so nullok
"Nullok" bit i slutningen fortæller systemet at lade en bruger logge ind, selvom de ikke har kørt kommandoen google-authenticator for at konfigurere to-faktor-godkendelse. Hvis de har konfigureret det, skal de indtaste en tidsbaseret kode - ellers vil de ikke. Fjern "nullok", og brugerkonti, der ikke har oprettet en Google Authenticator-kode, kan bare ikke logge ind grafisk.
Næste gang en bruger logger ind grafisk, bliver de bedt om deres adgangskode og derefter bedt om den aktuelle bekræftelseskode, der vises på deres telefon. Hvis de ikke indtaster bekræftelseskoden, får de ikke adgang til at logge ind.
Processen skal være nogenlunde ens for andre Linux-distributioner og desktops, da de fleste almindelige Linux-desktop-sessionsledere bruger PAM. Du bliver sandsynligvis bare nødt til at redigere en anden fil med noget lignende for at aktivere det relevante PAM-modul.
Hvis du bruger hjemmekatalogkryptering
Ældre udgivelser af Ubuntu tilbød det nemt "Kryptering af hjemmemappe" der krypterede hele dit hjemmekatalog, indtil du indtaster din adgangskode. Specifikt bruger dette ecryptfs. Men fordi PAM-softwaren som standard er afhængig af en Google Authenticator-fil, der er gemt i dit hjemmekatalog, interfererer krypteringen med, at PAM læser filen, medmindre du sikrer, at den er tilgængelig i ukrypteret form til systemet, før du logger ind. README for at få flere oplysninger om, hvordan du undgår dette problem, hvis du stadig bruger de forældede krypteringsindstillinger for hjemmekataloget.
Moderne versioner af Ubuntu tilbyder fuld-disk kryptering i stedet, hvilket fungerer fint med ovenstående muligheder. Du behøver ikke gøre noget særligt
Hjælp, det brød!
Fordi vi lige har aktiveret dette for grafiske logins, skal det være let at deaktivere det, hvis det forårsager et problem. Tryk på en tastekombination som Ctrl + Alt + F2 for at få adgang til en virtuel terminal og log ind der med dit brugernavn og din adgangskode. Du kan derefter bruge en kommando som sudo nano /etc/pam.d/lightdm til at åbne filen til redigering i en terminal teksteditor. Brug vores guide til Nano for at fjerne linjen og gemme filen, og du kan logge ind normalt igen.
Du kan også tvinge Google Authenticator til at være påkrævet for andre typer logins - potentielt endda alle systemlogins - ved at tilføje linjen "auth required pam_google_authenticator.so" til andre PAM-konfigurationsfiler. Vær forsigtig, hvis du gør dette. Og husk, du vil muligvis tilføje "nullok", så brugere, der ikke har gennemgået installationsprocessen, stadig kan logge ind.
Yderligere dokumentation for, hvordan du bruger og opsætter dette PAM-modul, kan findes i softwarens README-fil på GitHub .