Slik konfigurerer du tofaktorautentisering for SSH på Fedora


Hver dag ser det ut til at det er rapportert om mange sikkerhetsbrudd der dataene våre er i fare. Til tross for at SSH er en sikker måte å etablere en ekstern tilkobling til et Linux-system, men likevel kan en ukjent bruker få tilgang til Linux-maskinen din hvis de stjeler SSH-nøklene dine, selv om du deaktiverer passord eller bare tillater SSH-tilkoblinger over offentlige og private nøkler.

I denne artikkelen vil vi forklare hvordan du setter opp tofaktorautentisering (2FA) for SSH på Fedora Linux-distribusjon ved å bruke Google Authenticator for å få tilgang til et eksternt Linux-system på en sikrere måte ved å gi et TOTP (Det tidsbaserte engangspassordet)-nummer generert tilfeldig av et autentiseringsprogram på en mobilenhet.

Les også: Slik konfigurerer du tofaktorautentisering for SSH-pålogginger i CentOS og Debian

Merk at du kan bruke en hvilken som helst toveis autentiseringsapplikasjon for mobilenheten din som er kompatibel med TOTP-algoritmen. Det er mange gratis apper tilgjengelig for Android eller IOS som støtter TOTP og Google Authenticator, men denne artikkelen bruker Google Authenticator som et eksempel.

Installerer Google Authenticator på Fedora

Installer først Google Authenticator-applikasjonen på din Fedora-server ved å bruke følgende dnf-kommando.

sudo dnf install -y google-authenticator

Når Google Authenticator er installert, kan du nå kjøre programmet.

google-authenticator

Applikasjonen ber deg med en rekke spørsmål. Følgende utdrag viser deg hvordan du svarer for et rimelig sikkert oppsett.

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

Applikasjonen gir deg en hemmelig nøkkel, bekreftelseskode og gjenopprettingskoder. Oppbevar disse nøklene på et sikkert og trygt sted, siden disse nøklene er den eneste måten å få tilgang til serveren på hvis du mister mobilenheten.

Sette opp mobiltelefonautentisering

På mobiltelefonen din, gå til appbutikken Google Play eller iTunes og søk etter Google Authenticator og installer applikasjonen.

Åpne nå Google Authenticator-applikasjonen på mobiltelefonen din og skann QR-koden som vises på Fedora-terminalskjermen. Når QR-kodeskanningen er fullført, vil du få et tilfeldig generert nummer av autentiseringsapplikasjonen og bruke dette nummeret hver gang du kobler til Fedora-serveren eksternt.

Fullfør konfigurasjonen av Google Authenticator

Google Authenticator-appen stiller flere spørsmål, og følgende eksempel viser hvordan du kan svare på dem for å konfigurere sikker konfigurasjon.

Nå må du konfigurere SSH til å bruke den nye toveisautentiseringen som forklart nedenfor.

Konfigurer SSH for å bruke Google Authenticator

For å konfigurere SSH til å bruke autentisering-applikasjonen, må du først ha en fungerende SSH-tilkobling som bruker offentlige SSH-nøkler, siden vi vil deaktivere passordtilkoblinger.

Åpne filen /etc/pam.d/sshd på serveren din.

sudo vi /etc/pam.d/sshd

Kommenter ut auth substack password-auth-linjen i filen.

#auth       substack     password-auth

Plasser deretter følgende linje til slutten av filen.

auth sufficient pam_google_authenticator.so

Lagre og lukk filen.

Deretter åpner og redigerer du /etc/ssh/sshd_config-filen.

sudo vi /etc/ssh/sshd_config

Søk etter ChallengeResponseAuthentication-linjen og endre den til yes.

ChallengeResponseAuthentication yes

Søk etter PasswordAuthentication-linjen og endre den til no.

PasswordAuthentication no

Plasser deretter følgende linje til slutten av filen.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Lagre og lukk filen, og start deretter SSH på nytt.

sudo systemctl restart sshd

Tester tofaktorautentisering på Fedora

Prøv nå å koble til serveren din eksternt, den vil be deg om å angi en bekreftelseskode.

ssh [email 

Verification code:

Bekreftelseskoden genereres tilfeldig på mobiltelefonen din av autentiseringsapplikasjonen din. Siden generert kode endres med noen sekunders mellomrom, må du angi den raskt før den oppretter en ny.

Hvis du skriver inn feil bekreftelseskode, vil du ikke kunne koble til systemet, og du vil få en feilmelding om tillatelse nektet.

ssh [email 

Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).
Konklusjon

Ved å implementere denne enkle toveisautentiseringen har du lagt til et ekstra lag med sikkerhet til systemet ditt, og i tillegg gjør dette vanskeligere for en ukjent bruker å få tilgang til serveren din.