Hoe configureer ik authenticatie met twee factoren in SSH in Ubuntu?

Twee-factor-authenticatie

La Tweefactorauthenticatie (2FA) is niet iets unieks dat op sociale media kan worden gebruikt of op een andere website. Welnu, deze beveiligingsmaatregel kan ook binnen een besturingssysteem worden geïmplementeerd.

Dit is waarom Vandaag zullen we zien hoe we tweefactorauthenticatie in SSH in Ubuntu kunnen implementeren en afgeleiden met behulp van de bekende Google Authenticator die de veiligheid van uw OpenSSH-server aanzienlijk zal verhogen.

Normaal gesproken hoeft u alleen een wachtwoord in te voeren of de SSH-sleutel te gebruiken om op afstand in te loggen op uw systeem.

Twee-factor-authenticatie (2FA) vereist dat er twee stukjes informatie worden ingevoerd om in te loggen.

Daarom moet u ook een op tijd gebaseerd eenmalig wachtwoord invoeren om in te loggen op uw SSH-server.

Dit eenmalige wachtwoord wordt berekend met behulp van het TOTP-algoritme, een IETF-standaard.

Installatie en configuratie van Google Authenticator in Ubuntu en afgeleiden

De eerste stap die we gaan uitvoeren is de installatie van Google Authenticator in ons systeem, dus we gaan een terminal openen in het systeem (dit kan gedaan worden met de toetsencombinatie "Ctrl + Alt + T) en daarin gaan we het volgende commando typen:

sudo apt install libpam-google-authenticator

Installatie voltooid we gaan de nieuw geïnstalleerde applicatie uitvoeren met de volgende opdracht:

google-authenticator

Wanneer we dit commando uitvoeren, gaan we een geheime sleutel toewijzen en dit zal ons vragen of we de tokens willen gebruiken op basis van tijd, wat we met ja zullen beantwoorden.

Na dit, ze zien een QR-code die ze kunnen scannen met een TOTP-app op hun telefoon.

Hier We raden aan om de Google Authenticator-applicatie op uw mobiele telefoon te gebruiken.il, zodat u de applicatie via Google Play of Apple App Store op uw mobiele telefoon kunt installeren.

Als u de applicatie al op uw telefoon heeft, moet u de QR-code ermee scannen. Houd er rekening mee dat u het terminalvenster moet vergroten om de volledige QR-code te scannen.

De QR-code vertegenwoordigt de geheime sleutel, die alleen bekend is bij de SSH-server en de Google Authenticator-app.

Nadat de QR-code is gescand, kunnen ze een uniek zescijferig token op hun telefoon zien. Dit token duurt standaard 30 seconden en moet worden ingevoerd om in te loggen op Ubuntu via SSH.

google-authenticator-geheime-sleutel

In de terminal kun je ook de geheime code zien, evenals de verificatiecode en de noodstartcode.

Waarvan we u aanraden deze informatie op een veilige plaats te bewaren voor later gebruik. Van de andere vragen die ons worden gesteld, gaan we gewoon ja beantwoorden door de letter y te typen.

SSH instellen voor gebruik met Google Authenticator

Rekend al op het bovenstaande, Nu gaan we de nodige configuratie maken om de SSH-verbinding in ons systeem met Google Authenticator te kunnen gebruiken.

In terminal vWe gaan het volgende commando typen

sudo nano /etc/ssh/sshd_config

In het bestand we gaan op zoek naar de volgende regels en we zullen deze veranderen in "ja", zijnde als volgt:

UsePAM yes

ChallengeResponseAuthentication yes

Nadat de wijzigingen zijn aangebracht, slaat u de aangebrachte wijzigingen op met Ctrl + O en sluit u het bestand met Ctrl + X.

In dezelfde terminal gaan we SSH herstarten met:

sudo systemctl restart ssh

Verificatie vereist standaard dat ze het gebruikerswachtwoord invoeren om in te loggen.

Waarvoor laten we het PAM-regelsbestand voor de SSH-daemon bewerken.

sudo nano /etc/pam.d/sshd

Aan het begin van dit bestand ziet u de volgende regel, die wachtwoordverificatie mogelijk maakt

ChallengeResponseAuthentication

Wat we op ja moeten zetten.

Om ook eenmalige wachtwoordverificatie in te schakelen, voegt u de volgende twee regels toe.

@include common-auth

#One-time password authentication via Google Authenticator

auth required pam_google_authenticator.so

Sla het bestand op en sluit het.

Vanaf nu zullen ze elke keer dat ze inloggen op uw systeem via een SSH-verbinding, gevraagd worden om het gebruikerswachtwoord en een verificatiecode in te voeren (het eenmalige wachtwoord gegenereerd door Google Authenticator).


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Miguel zei

    Hallo, vrij eenvoudige tutorial, maar als ik eenmaal alle stappen heb uitgevoerd die ik niet meer via ssh kan invoeren, krijg ik een foutieve wachtwoordfout, ik kan niet eens om 2FA vragen.

    Ik heb Ubuntu Server 20.04