Sådan konfigureres tofaktorautentificering til SSH på Fedora


Hver dag synes der at være masser af sikkerhedsbrud rapporteret, hvor vores data er i fare. På trods af at SSH er en sikker måde at oprette en forbindelse eksternt til et Linux-system, men alligevel kan en ukendt bruger få adgang til din Linux-maskine, hvis de stjæler dine SSH-nøgler, selvom du deaktiverer adgangskoder eller kun tillader SSH-forbindelser over offentlige og private nøgler.

I denne artikel vil vi forklare, hvordan man opretter tofaktorautentificering (2FA) til SSH på Fedora Linux-distribution ved hjælp af Google Authenticator for at få adgang til et fjernt Linux-system på en mere sikker måde ved at levere en TOTP (The Time-based One-time) Adgangskode) nummer genereret tilfældigt af en godkendelsesapplikation på en mobilenhed.

Bemærk, at du kan bruge ethvert tovejs-godkendelsesprogram til din mobile enhed, der er kompatibel med TOTP-algoritmen. Der er adskillige gratis apps tilgængelige til Android eller IOS, der understøtter TOTP og Google Authenticator, men denne artikel bruger Google Authenticator som et eksempel.

Installation af Google Authenticator på Fedora

Først skal du installere Google Authenticator-applikationen på din Fedora-server ved hjælp af følgende dnf-kommando.

$ sudo dnf install -y google-authenticator

Når Google Authenticator er installeret, kan du nu køre applikationen.

$ google-authenticator

Ansøgningen beder dig om et antal spørgsmål. Følgende uddrag viser dig, hvordan du svarer til en rimelig sikker opsætning.

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

Applikationen giver dig en hemmelig nøgle, verifikationskode og gendannelseskoder. Opbevar disse nøgler et sikkert sted, da disse nøgler er den eneste måde at få adgang til din server, hvis du mister din mobilenhed.

Opsætning af mobiltelefongodkendelse

Gå til appbutikken Google Play eller iTunes på din mobiltelefon, og søg efter Google Authenticator, og installer applikationen.

Åbn nu Google Authenticator-applikationen på din mobiltelefon, og scan QR-koden, der vises på Fedora-terminalskærmen. Når QR-kodescanningen er afsluttet, får du et tilfældigt genereret nummer af godkendelsesapplikationen og bruger dette nummer hver gang du opretter forbindelse til din Fedora-server eksternt.

Afslut Google Authenticator-konfiguration

Google Authenticator-applikationen beder om yderligere spørgsmål, og det følgende eksempel viser, hvordan man besvarer dem for at konfigurere sikker konfiguration.

Nu skal du konfigurere SSH til at bruge den nye tovejsgodkendelse som forklaret nedenfor.

Konfigurer SSH til at bruge Google Authenticator

For at konfigurere SSH til at bruge godkendelsesapplikation skal du først have en fungerende SSH-forbindelse ved hjælp af offentlige SSH-nøgler, da vi deaktiverer adgangskodeforbindelser.

Åbn /etc/pam.d/sshd-fil på din server.

$ sudo vi /etc/pam.d/sshd

Kommenter linjen auth substack password-auth i filen.

#auth       substack     password-auth

Derefter placerer du den følgende linje i slutningen af filen.

auth sufficient pam_google_authenticator.so

Gem og luk filen.

Dernæst skal du åbne og redigere filen/etc/ssh/sshd_config.

$ sudo vi /etc/ssh/sshd_config

Søg efter linjen ChallengeResponseAuthentication , og skift den til ja .

ChallengeResponseAuthentication yes

Søg efter linjen PasswordAuthentication , og skift den til no .

PasswordAuthentication no

Derefter placerer du den følgende linje i slutningen af filen.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Gem og luk filen, og genstart derefter SSH.

$ sudo systemctl restart sshd

Test af tofaktorautentificering på Fedora

Prøv nu at oprette forbindelse til din server eksternt, den beder dig om at indtaste en verifikationskode.

$ ssh [email 

Verification code:

Bekræftelseskoden genereres tilfældigt på din mobiltelefon af din godkendelsesapplikation. Da genereret kode ændres hvert par sekunder, skal du hurtigt indtaste den, før den opretter en ny.

Hvis du indtaster den forkerte verifikationskode, kan du ikke oprette forbindelse til systemet, og du får en følgende tilladelsesfejl.

$ ssh [email 

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

Ved at implementere denne nemme tovejsgodkendelse har du tilføjet et ekstra lag af sikkerhed til dit system, og det gør det vanskeligere for en ukendt bruger at få adgang til din server.