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.
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).
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