Zoeken op website

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.