31Aug

Så här loggar du in på ditt Linux-skrivbord med Google Authenticator

För ytterligare säkerhet kan du kräva en tidsbaserad autentiseringstoken samt ett lösenord för att logga in på din Linux-dator. Den här lösningen använder Google Authenticator och andra TOTP-appar.

Den här processen utfördes på Ubuntu 14.04 med standard Unity desktop och LightDM login manager, men principerna är desamma på de flesta Linux-distributioner och stationära datorer.

Vi har tidigare visat dig hur du behöver Google Authenticator för fjärråtkomst via SSH, och denna process är liknande. Det här kräver inte Google Authenticator-appen, men fungerar med alla kompatibla appar som implementerar TOTP-autentiseringsprogrammet, inklusive Authy.

Installera Google Authenticator PAM

Som när du ställer in detta för SSH-åtkomst måste vi först installera lämplig PAM-programvara( "plug-in-authentication module").PAM är ett system som tillåter oss att ansluta olika typer av autentiseringsmetoder till ett Linux-system och kräva dem.

På Ubuntu kommer följande kommando att installera Google Authenticator PAM.Öppna ett terminalfönster, skriv följande kommando, tryck på Enter och ange ditt lösenord. Systemet laddar ner PAM från din Linux-distributionens mjukvaruarkiv och installerar det:

sudo apt-get installera libpam-google-autentiserare

Andra Linux-distributioner ska förhoppningsvis få detta paket tillgängligt för enkel installation också - öppna din Linux-distributionens mjukvaruarkiv ochutför en sökning efter det. I värsta fall kan du hitta källkoden för PAM-modulen på GitHub och kompilera det själv.

Som vi påpekade tidigare är lösningen inte beroende av att "ringa hem" till Googles servrar. Det implementerar standard TOTP-algoritmen och kan användas även om din dator inte har tillgång till Internet.

Skapa dina autentiseringsnycklar

Du måste nu skapa en hemlig autentiseringsnyckel och ange den i appen Google Authenticator( eller en liknande) på din telefon. Först logga in som ditt användarkonto på ditt Linux-system.Öppna ett terminalfönster och kör google-autentiserings -kommandot. Skriv och och följ anvisningarna här. Detta skapar en särskild fil i det aktuella användarkontoens katalog med Google Authenticator-informationen.

Du kommer också att gå igenom processen att få den tvåfaktorkontrollkoden till en Google Authenticator eller liknande TOTP-app på din smartphone. Ditt system kan generera en QR-kod som du kan skanna, eller du kan skriva in manuellt.

Var noga med att notera ned dina nödskraplodar, som du kan använda för att logga in med om du förlorar din telefon.

Gå igenom den här processen för varje användarkonto som använder din dator. Om du till exempel är den enda personen som använder din dator kan du bara göra det en gång på ditt vanliga användarkonto. Om du har någon annan som använder din dator, vill du få dem att logga in på eget konto och skapa en lämplig tvåfaktorkod för eget konto så att de kommer att kunna logga in.

Aktivera autentisering

Här är varsaker blir lite dicy. När vi förklarade hur du aktiverar tvåfaktorer för SSH-inloggningar krävde vi det bara för SSH-inloggningar. Detta garanterade att du fortfarande kan logga in lokalt om du förlorade din autentiseringsapp eller om något gick fel.

Eftersom vi tillåter tvåfaktors autentisering för lokala inloggningar finns det potentiella problem här. Om något går fel kan det hända att du inte kan logga in. Med tanke på det kommer vi att gå igenom dig genom att aktivera detta endast för grafiska inloggningar. Detta ger dig en escape lucka om du behöver det.

Aktivera Google Authenticator för grafiska inloggningar på Ubuntu

Du kan alltid aktivera tvåstegs autentisering för endast grafiska inloggningar, och hoppa över kravet när du loggar in från textprompten. Det betyder att du enkelt kan byta till en virtuell terminal, logga in där och återställa dina ändringar så att Gogole Authenciator inte skulle behövas om du upplever ett problem.

Visst, detta öppnar ett hål i ditt autentiseringssystem, men en angripare med fysisk åtkomst till ditt system kan redan utnyttja det ändå.Därför är tvåfaktorsautentisering särskilt effektiv för fjärranslutna inloggningar via SSH.

Så här gör du det för Ubuntu, som använder LightDM inloggningshanteraren.Öppna LightDM-filen för redigering med ett kommando som följande:

sudo gedit /etc/pam.d/ lightdm

( Kom ihåg att dessa specifika steg fungerar bara om din Linux-distribution och skrivbord använder LightDM-inloggningshanteraren.)

Lägg till följande rad till slutet avfilen och spara sedan:

auth krävs pam_google_authenticator.so nullok

Den "nullok" -biten i slutet berättar för att systemet ska låta en användare logga in även om de inte har kört google-autentiseringskommandot för att ställa in två-faktor autentisering. Om de har ställt upp det måste de ange en tidsbaserad kod - annars kommer de inte. Ta bort "nullok" och användarkonton som inte har konfigurerat en Google Authenticator-kod kommer inte att kunna logga in grafiskt.

Nästa gång en användare loggar in grafiskt, kommer de att bli ombedda till sitt lösenord och sedan uppmanade till att den nuvarande verifieringskoden visas på sin telefon. Om de inte anger verifieringskoden får de inte logga in.

Processen ska vara ganska lik för andra Linux-distributioner och stationära datorer, eftersom de flesta vanliga Linux-stationssessionshanterare använder PAM.Du kommer sannolikt bara behöva redigera en annan fil med något liknande att aktivera lämplig PAM-modul.

Om du använder hemkatalogkryptering

Äldre utgåvor av Ubuntu erbjöd en enkel "hemmappkryptering" -alternativ som krypterade hela din hemkatalog tills du anger ditt lösenord. Specifikt använder detta ecryptfs. Men eftersom PAM-programvaran beror på en Google Authenticator-fil som är lagrad i din hemkatalog som standard, stör krypteringen PAM-läsningen om du inte säkerställer att den är tillgänglig i okrypterad form till systemet innan du loggar in. Läs i README för merInformation om att undvika detta problem om du fortfarande använder de krypterade alternativen för hemkatalog.

Moderna versioner av Ubuntu erbjuder istället fullständig diskkryptering, vilket fungerar bra med ovanstående alternativ. Du behöver inte göra något speciellt

Hjälp, det bröt!

Eftersom vi bara aktiverat detta för grafiska inloggningar, ska det vara enkelt att inaktivera om det orsakar ett problem. Tryck på en tangentkombination som Ctrl + Alt + F2 för att komma åt en virtuell terminal och logga in där med ditt användarnamn och lösenord. Du kan sedan använda ett kommando som sudo nano /etc/pam.d/ lightdm för att öppna filen för redigering i en terminal textredigerare. Använd vår guide till Nano för att ta bort raden och spara filen, och du kommer att kunna logga in normalt igen.

Du kan också tvinga Google Authenticator att behövas för andra typer av inloggningar - eventuellt även alla systeminloggningar - genom att lägga till raden "auth required pam_google_authenticator.so" till andra PAM-konfigurationsfiler. Var försiktig om du gör det här. Och kom ihåg att du kanske vill lägga till "nullok" så att användare som inte har gått igenom installationsprocessen fortfarande kan logga in.

Ytterligare dokumentation om hur du använder och ställer in denna PAM-modul finns i programmets README-fil på GitHub.