Hoe je twee-factor-authenticatie instelt voor SSH op Fedora
Elke dag lijken er veel beveiligingsinbreuken te worden gemeld waarbij onze gegevens in gevaar zijn. Ondanks het feit dat SSH een veilige manier is om op afstand een verbinding tot stand te brengen met een Linux-systeem, kan een onbekende gebruiker toch toegang krijgen tot uw Linux-machine als hij of zij uw SSH-sleutels steelt, zelfs als u wachtwoorden uitschakelt of alleen SSH-verbindingen toestaat. publieke en private sleutels.
In dit artikel leggen we uit hoe je tweefactorauthenticatie (2FA) instelt voor SSH op Fedora Linux-distributie met behulp van Google Authenticator voor toegang een extern Linux-systeem op een veiligere manier te gebruiken door een TOTP-nummer (The Time-based One-time Password) op te geven dat willekeurig wordt gegenereerd door een authenticatie-applicatie op een mobiel apparaat.
Lees ook: hoe u twee-factor-authenticatie instelt voor SSH-aanmeldingen in CentOS en Debian
Houd er rekening mee dat u elke tweeweg-authenticatietoepassing voor uw mobiele apparaat kunt gebruiken die compatibel is met het TOTP-algoritme. Er zijn talloze gratis apps beschikbaar voor Android of IOS die TOTP en Google Authenticator ondersteunen, maar dit artikel gebruikt Google Authenticator als voorbeeld.
Google Authenticator installeren op Fedora
Installeer eerst de Google Authenticator applicatie op je Fedora server met behulp van het volgende dnf commando.
sudo dnf install -y google-authenticator
Nadat Google Authenticator is geïnstalleerd, kunt u de applicatie nu uitvoeren.
google-authenticator
De applicatie stelt u een aantal vragen. De volgende fragmenten laten zien hoe u kunt antwoorden op een redelijk veilige installatie.
Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y
De applicatie biedt u een geheime sleutel, verificatiecode en herstelcodes. Bewaar deze sleutels op een veilige, veilige locatie, aangezien deze sleutels de enige manier zijn om toegang te krijgen tot uw server als u uw mobiele apparaat kwijtraakt.
Authenticatie van mobiele telefoons instellen
Ga op uw mobiele telefoon naar de app store Google Play of iTunes en zoek naar Google Authenticator en installeer de applicatie.
Open nu de Google Authenticator applicatie op je mobiele telefoon en scan de QR-code die wordt weergegeven op het Fedora terminalscherm. Zodra de QR-codescan voltooid is, krijg je een willekeurig gegenereerd nummer door de authenticator-applicatie en gebruik je dit nummer elke keer dat je op afstand verbinding maakt met je Fedora-server.
Voltooi de Google Authenticator-configuratie
De Google Authenticator-applicatie roept verdere vragen op en het volgende voorbeeld laat zien hoe u deze kunt beantwoorden om een veilige configuratie in te stellen.
Nu moet u SSH configureren om de nieuwe tweerichtingsauthenticatie te gebruiken, zoals hieronder uitgelegd.
Configureer SSH om Google Authenticator te gebruiken
Om SSH te configureren om de authenticator-applicatie te gebruiken, moet je eerst een werkende SSH-verbinding hebben met behulp van openbare SSH-sleutels, omdat we wachtwoordverbindingen zullen uitschakelen.
Open het bestand /etc/pam.d/sshd op uw server.
sudo vi /etc/pam.d/sshd
Geef commentaar op de regel auth substack wachtwoord-auth
in het bestand.
#auth substack password-auth
Plaats vervolgens de volgende regel aan het einde van het bestand.
auth sufficient pam_google_authenticator.so
Sla het bestand op en sluit het.
Open en bewerk vervolgens het bestand /etc/ssh/sshd_config.
sudo vi /etc/ssh/sshd_config
Zoek naar de regel ChallengeResponseAuthentication
en wijzig deze in yes
.
ChallengeResponseAuthentication yes
Zoek naar de regel PasswordAuthentication
en wijzig deze in no
.
PasswordAuthentication no
Plaats vervolgens de volgende regel aan het einde van het bestand.
AuthenticationMethods publickey,password publickey,keyboard-interactive
Sla het bestand op, sluit het en start SSH opnieuw.
sudo systemctl restart sshd
Twee-factor authenticatie testen op Fedora
Probeer nu op afstand verbinding te maken met uw server. U wordt gevraagd een verificatiecode in te voeren.
ssh [email
Verification code:
De verificatiecode wordt willekeurig op uw mobiele telefoon gegenereerd door uw authenticatorapplicatie. Omdat de gegenereerde code elke paar seconden verandert, moet u deze snel invoeren voordat er een nieuwe wordt aangemaakt.
Als u de verkeerde verificatiecode invoert, kunt u geen verbinding maken met het systeem en krijgt u de volgende foutmelding: Toestemming geweigerd.
ssh [email
Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).
Conclusie
Door deze eenvoudige tweerichtingsauthenticatie te implementeren, heeft u een extra beveiligingslaag aan uw systeem toegevoegd en wordt het voor een onbekende gebruiker moeilijker om toegang te krijgen tot uw server.