Hur konfigurerar jag tvåfaktorautentisering i SSH i Ubuntu?

Tvåfaktorautentisering

La Tvåfaktorautentisering (2FA) är inte något unikt som kan användas på sociala medier eller på någon annan webbplats. Tja, denna säkerhetsåtgärd kan också implementeras i ett operativsystem.

Det är därför Idag kommer vi att se hur man implementerar tvåfaktorautentisering i SSH i Ubuntu och derivat med den välkända Google Authenticator som avsevärt ökar säkerheten för din OpenSSH-server.

Normalt behöver du bara ange ett lösenord eller använda SSH-nyckeln för att logga in på ditt system på distans.

Tvåfaktorautentisering (2FA) kräver att två uppgifter anges för att logga in.

Därför måste du också ange ett tidsbaserat engångslösenord för att logga in på din SSH-server.

Detta engångslösenord beräknas med hjälp av TOTP-algoritmen, som är en IETF-standard.

Installation och konfiguration av Google Authenticator i Ubuntu och derivat

Det första steget vi ska genomföra är installationen av Google Authenticator i vårt system, så vi ska öppna en terminal i systemet (detta kan göras med tangentkombinationen "Ctrl + Alt + T) och i den ska vi skriva följande kommando:

sudo apt install libpam-google-authenticator

Installation klar vi ska köra den nyligen installerade applikationen med följande kommando:

google-authenticator

När vi kör det här kommandot är det vi ska göra att tilldela en hemlig nyckel och detta kommer att fråga oss om vi vill använda tokens baserat på tid, vilket vi kommer att svara ja.

Efter det här, de kommer att se en QR-kod som de kan skanna med en TOTP-app på sin telefon.

Här Vi rekommenderar att du använder appen Google Authenticator på din mobiltelefon.il, så att du kan installera appen via Google Play eller Apple App Store på din mobiltelefon.

Om du redan har applikationen på din telefon måste du skanna QR-koden med den. Tänk på att du måste förstora terminalfönstret för att skanna hela QR-koden.

QR-koden representerar den hemliga nyckeln, som endast är känt för dess SSH-server och dess Google Authenticator-app.

När QR-koden har skannats kan de se en unik sexsiffrig symbol på sin telefon. Som standard varar denna token i 30 sekunder och den måste anges för att logga in på Ubuntu via SSH.

google-autenticator-hemlig nyckel

I terminalen kommer du också att kunna se den hemliga koden, liksom verifieringskoden och nödstartkoden.

Från vilken vi rekommenderar att du förvarar denna information på ett säkert ställe för senare användning. Av de andra frågorna vi ställer kommer vi helt enkelt att svara ja genom att skriva bokstaven y.

Konfigurera SSH för användning med Google Authenticator

Räknar redan med ovanstående, Nu ska vi göra den nödvändiga konfigurationen för att kunna använda SSH-anslutningen i vårt system med Google Authenticator.

I terminal vVi ska skriva följande kommando

sudo nano /etc/ssh/sshd_config

Inne i filen vi ska leta efter följande rader och vi kommer att ändra dessa till "ja", enligt följande:

UsePAM yes

ChallengeResponseAuthentication yes

När ändringarna har gjorts sparar du ändringarna med Ctrl + O och stänger filen med Ctrl + X.

I samma terminal ska vi starta om SSH med:

sudo systemctl restart ssh

Som standard kräver autentisering att de anger användarlösenordet för att logga in.

För vad låt oss redigera PAM-reglerfilen för SSH-demonen.

sudo nano /etc/pam.d/sshd

I början av den här filen kan du se följande rad, som möjliggör autentisering av lösenord

ChallengeResponseAuthentication

Som vi måste ställa till ja.

För att även aktivera engångslösenordsautentisering, lägg till följande två rader.

@include common-auth

#One-time password authentication via Google Authenticator

auth required pam_google_authenticator.so

Spara och stäng filen.

Från och med nu uppmanas de att ange användarlösenordet och en verifieringskod (det engångslösenord som genereras av Google Authenticator) varje gång de loggar in på ditt system via en SSH-anslutning.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Miguel sade

    Hej, ganska enkel handledning, men när jag gör alla steg som jag inte längre kan ange via ssh, ger det mig ett felaktigt lösenordsfel, jag kan inte ens be om 2FA.

    Jag har Ubuntu Server 20.04