Nyheter i Android, Telefoner, Prylar Och Recensioner

Hur man ställer in tvåfaktorsautentisering för SSH i Linux

Secure Shell, eller SSH, är ett kryptografiskt nätverksprotokoll som möjliggör säker åtkomst till enheter över ett osäkrat nätverk. Den hittar sina applikationer i olika användningsfall, såsom fjärrinloggning, fjärrkommandoradsåtkomst och fjärrstyrning av kommandon.

Om du har använt SSH, skulle du redan veta att den använder en enfaktorsautentiseringsmekanism som kräver antingen en SSH-nyckel eller ett lösenord för autentisering. Även om detta kanske inte verkar alarmerande i början, lämnar det systemet utsatt för flera öppna sårbarheter.

Det rekommenderas därför ofta att aktivera tvåfaktorsautentisering (2FA) för SSH för att stärka dess säkerhet. I den här artikeln kommer vi att diskutera tvåfaktorsautentisering i detalj, tillsammans med en omfattande guide om hur man aktiverar 2FA för SSH.

Vad är tvåfaktorsautentisering?

Tvåfaktorsautentisering, eller 2FA, är en form av multifaktorautentiseringsmekanism (MFA) som kräver en andra faktor för autentisering, förutom den första faktorn, för att autentisera din inloggning och skydda ditt konto från obehörig åtkomst.

Du kan tänka på 2FA som en verifieringskod som genereras antingen av en kodgenerator-app eller en tokengenerator för hårdvara, som du måste tillhandahålla vid inloggningstillfället, efter att ha angett ditt lösenord, för att komma åt ditt konto.

När du registrerar dig för ett konto på någon onlinetjänst skapar du ett lösenord för att skydda det. Detta lösenord fungerar som din första autentiseringsfaktor och det krävs av tjänsten för att autentisera dig varje gång du loggar in på ditt konto.

Varför ska du aktivera 2FA för SSH?

SSH, som standard, autentiserar dig med antingen en offentlig nyckel eller ett lösenord innan en anslutning upprättas mellan dig och den andra enheten/servern.

I allmänhet fungerar den här konfigurationen alldeles utmärkt, och du kan komma undan med det i de flesta fall. Men för tillfällen när du ansluter till en enhet/server som innehåller känslig eller personlig information via SSH, behöver du ett extra lager av skydd på det systemet.

Ett sätt att göra detta är att aktivera tvåfaktorsautentisering på servern/värddatorn, vilket skyddar dess åtkomst över SSH och kräver en andra autentiseringsfaktor för att autentisera klientinloggningen.

Som ett resultat, även om någon lyckas få tag i klientens/värdens lösenord, kan de fortfarande inte komma åt systemet över SSH om de inte också tillhandahåller 2FA-koden.

Relaterad  Rykten: Hogwarts Legacy kommer att vara en av premiärerna för februarinumret av State of Play

Hur man ställer in 2FA för SSH i Linux

Att få igång 2FA för SSH på Linux innebär en rad steg. Här är en sammanfattning av varje steg för att guida dig genom processen.

Förutsättningar

Det säger sig självt att du behöver ett SSH-serverprogram installerat på systemet som du vill aktivera 2FA på. För att verifiera detta, öppna terminalen och skriv:

ssh -V

Om du har en SSH-server installerad, gå vidare till nästa steg. Om inte, skriv in följande kommando för att installera det:

sudo apt install openssh-server

När installationen är klar, kontrollera om SSH är aktiverat på systemet. För att göra detta anger du:

sudo systemctl status ssh

Om din status återspeglar Aktiv: aktiv (löpande), kan du gå vidare. Men om det visar något annat, skriv in följande kommando:

sudo systemctl enable ssh

I vissa fall kan brandväggskonfigurationen störa SSH och du kan behöva utfärda kommandot nedan för att aktivera SSH-servern på ditt system.

sudo ufw allow ssh

Steg 1: Installera Google Authenticator PAM

Med OpenSSH-servern igång på din värddator är det allra första du behöver göra att installera en Pluggable Authentication Module (PAM), som erbjuder den nödvändiga infrastrukturen för att integrera multifaktorautentisering för SSH i Linux.

Google Authenticator PAM är det mest populära valet i detta avseende eftersom det är lättare att implementera och använda än några av de andra autentiseringsmodulerna. Den erbjuder all nödvändig infrastruktur som krävs för att autentisera användare med tidsbaserade engångslösenordskoder (TOTP) och har kodgeneratorappar tillgängliga på Android och iOS.

För att installera Google Authenticator PAM, öppna ett terminalfönster och kör följande kommando:

sudo apt install libpam-google-authenticator

Stiga på y vid installationsuppmaningen för att bekräfta processen.

Steg 2: Konfigurera SSH

Med Google Authenticator PAM nu installerat på ditt system är det dags att få SSH att använda den här modulen för autentisering. För detta måste du redigera ett par konfigurationsfiler.

Vi rekommenderar att du tar en säkerhetskopia av dessa filer för att undvika att stöta på problem om något går fel under processen. När du är klar, fortsätt med följande steg:

    Öppna PAM-konfigurationsfilen med nano. Känna free att använda någon annan Linux-textredigerare.

    sudo nano /etc/pam.d/sshd

    Lägg till följande rad i filen.

    auth required pam_google_authenticator.so

    Spara och avsluta filredigeringsfönstret. Starta om sshd tjänst med systemctl.

    sudo systemctl restart sshd.service

Redigera sedan SSH-konfigurationsfilen, som är ansvarig för SSH-konfigurationen.

    Öppna filen med nano.

    sudo nano /etc/ssh/sshd_config

    Hitta linjen i den här filen ChallengeResonseAuthentication no och ändra dess status från “Nej“till”ja“. Detta kommer att instruera SSH att be om en autentiseringskod när någon försöker logga in på systemet. Spara filen och starta om SSH-demonen.

    sudo systemctl restart sshd.service

Steg 3: Konfigurera Authenticator på Linux

Nu när du har installerat och konfigurerat SSH måste du konfigurera Google Authenticator för att generera TOTP-koder.

Relaterad  Chrome kommer snart att tillåta användare att stänga flikar med ett dubbelklick med musen

För detta, öppna terminalen och starta Google Authenticator med följande kommando:

google-authenticator

Google Authenticator kommer nu att presentera dig med en rad frågor. Besvara dessa frågor med antingen a ja (y) eller a Nej (n). För de flesta frågor är standardsvaret a ja om du inte väljer att välja ett icke-standardalternativ.

Här är en lista med frågor, i förkortad form, som appen kommer att ställa till dig:

Gör autentiseringstokens tidsbaserade (y/n): y Uppdatera din “~/.google_authenticator” fil (y/n): y Vill du inte tillåta flera användningar av samma autentiseringstoken?: y Öka kodgenereringsfrekvensen (y/n): n Aktivera hastighetsbegränsning (y/n): y

Steg 4: Konfigurera Authenticator på telefonen

Så snart du svarar på den första Google-autentiseringsfrågan med ett ja, genererar Google PAM en QR-kod på din skärm tillsammans med en hemlig nyckel och några återställningskoder. Följ stegen nedan för att registrera Google Authenticator på din telefon.

Men först måste du ladda ner Google Authenticator-appen på din smartphone.

Ladda ner: Google Authenticator för Android | iOS (Free)

    Klicka på Plus (+) underteckna och välj Skanna en kod från menyalternativen. Rikta enhetens kamera mot QR-koden på din datorskärm för att automatiskt skapa en post i appen. Alternativt, välj Ange en inställningsnyckel från Plus (+)-menyn och fyll i de obligatoriska posterna. För detta, ge först ett namn till din post – det borde vara något som du lätt kan känna igen – och skriv sedan den hemliga nyckeln som visas under QR-koden på skärmen. Till sist, tryck Lägg till för att spara posten.

Som en försiktighetsåtgärd, kopiera alla återställningskoder som visas under QR-koden och spara dem på en säker plats. Du kan behöva dem om du inte kan komma åt Google Authenticator på din telefon eller förlorar åtkomsten.

Relaterad  IFA 2018: Intel presenterar nya processorer för bärbara datorer med 16 timmars batteritid

Säkra SSH-åtkomst på Linux med 2FA

Om du följt instruktionerna ovan korrekt bör du ha tvåfaktorsautentisering för SSH aktiverad på ditt Linux-system.

Nu, varje gång du vill komma åt den här servern/enheten via SSH, måste du först ange SSH-lösenordet (första faktorn), och därefter ange TOTP-koden (andra faktorn) från Google Authenticator-appen för att autentisera din logga in. Detta är ett utmärkt sätt att hantera och säkra dina fjärrinloggningar från SSH från inkräktare på internet.

Om författaren

Yash Wate (39 artiklar publicerade)

Yash är personalskribent på MUO för gör-det-själv, Linux, programmering och säkerhet. Innan han hittade sin passion för att skriva brukade han utveckla för webben och iOS. Du kan också hitta hans författarskap på TechPP, där han täcker andra vertikaler. Förutom teknik tycker han om att prata om astronomi, Formel 1 och klockor.

Mer från Yash Wate

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera