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.