Forutsetninger
Trinn 1: Installere Google Authenticator Library
Trinn 2: Konfigurer Google Authenticator for hver bruker
Trinn 3: Konfigurer SSH for å bruke Google Authenticator
Merk
Konklusjon
Det er flere måter å logge på en server over SSH. Metoder inkluderer passordpålogging, nøkkelbasert pålogging og tofaktorautentisering.
Tofaktorautentisering er en mye bedre type beskyttelse. I tilfelle datamaskinen din blir kompromittert, vil angriperen fortsatt trenge en tilgangskode for å logge på.
I denne opplæringen lærer du hvordan du setter opp tofaktorautentisering på Debian 9 ved hjelp av Google Authenticator og SSH.
Forutsetninger
- En Debian 9-server (eller nyere).
- En ikke-rootbruker med sudo-tilgang.
- En smarttelefon (Android eller iOS) med Google Authenticator-appen installert. Du kan også bruke Authy eller en annen app som støtter tidsbasert engangspassord (TOTP) pålogging.
Trinn 1: Installere Google Authenticator Library
Vi må installere Google Authenticator Library-modulen som er tilgjengelig for Debian, som lar serveren lese og validere koder.
sudo apt update
sudo apt install libpam-google-authenticator -y
Konfigurer modulen.
google-authenticator
Når du kjører kommandoen, vil du bli stilt visse spørsmål. Det første spørsmålet vil væreDo you want authentication tokens to be time-based (y/n)
Trykk Yog du vil få en QR-kode, hemmelig nøkkel, bekreftelseskode og nødhjelpskoder.
Ta frem telefonen og åpne Google Authenticator-appen. Du kan enten skanne QR-koden eller legge til den hemmelige nøkkelen for å legge til en ny oppføring. Når du har gjort det, noter sikkerhetskopikodene og oppbevar dem trygt et sted. I tilfelle telefonen din blir feilplassert eller skadet, kan du bruke disse kodene til å logge på.
For de resterende spørsmålene, trykk på Ynår du blir bedt om å oppdatere .google_authenticatorfilen, Yfor å ikke tillate flere bruk av samme token, Nfor å øke tidsvinduet og for Yå aktivere hastighetsbegrensning.
Du må gjenta dette trinnet for alle brukerne på maskinen din, ellers vil de ikke kunne logge på når du er ferdig med denne opplæringen.
Nå som alle brukere på maskinen din har satt opp sin Google-autentiseringsapp, er det på tide å konfigurere SSH til å bruke denne autentiseringsmetoden over den gjeldende.
Skriv inn følgende kommando for å redigere sshdfilen.
sudo nano /etc/pam.d/sshd
Finn linjen @include common-authog kommenter den, som det som vises nedenfor.
# Standard Un*x authentication.
#@include common-auth
Legg til følgende linje nederst i denne filen.
auth required pam_google_authenticator.so
Trykk på CTRL+ for Xå lagre og avslutte.
Deretter skriver du inn følgende kommando for å redigere sshd_configfilen.
sudo nano /etc/ssh/sshd_config
Finn termen ChallengeResponseAuthenticationog sett verdien til yes. Finn også begrepet PasswordAuthentication, fjern kommentarer og endre verdien til no.
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
Det neste trinnet er å legge til følgende linje nederst i filen.
AuthenticationMethods publickey,keyboard-interactive
Lagre og lukk filen ved å trykke på CTRL+ X. Nå som vi har konfigurert SSH-serveren til å bruke Google Authenticator, er det på tide å starte den på nytt.
sudo service ssh restart
Prøv å logge på serveren igjen. Denne gangen vil du bli bedt om autentiseringskoden din.
ssh user@serverip
Authenticated with partial success.
Verification code:
Skriv inn koden som appen din genererer, og du vil bli logget på.
Merk
I tilfelle du mister telefonen, bruk sikkerhetskopikodene fra trinn 2. Hvis du har mistet sikkerhetskopikodene, kan du alltid finne dem i .google_authenticatorfilen under brukerhjemmekatalogen etter at du har logget på via Vultr-konsollen.
Konklusjon
Å ha tofaktorautentisering forbedrer serverens sikkerhet betraktelig og lar deg hjelpe til med å hindre vanlige brute force-angrep.