Kako postaviti dvofaktorsku autentifikaciju za SSH na Fedori


Čini se da se svaki dan javlja mnogo kršenja sigurnosti gdje su naši podaci ugroženi. Unatoč činjenici da je SSH siguran način za daljinsko uspostavljanje veze s Linux sistemom, ali ipak, nepoznati korisnik može dobiti pristup vašoj Linux mašini ako ukrade vaše SSH ključeve, čak i ako onemogućite lozinke ili dozvolite samo SSH veze preko javni i privatni ključevi.

U ovom članku ćemo objasniti kako postaviti dvofaktorsku autentifikaciju (2FA) za SSH na Fedora Linux distribuciji koristeći Google Authenticator za pristup udaljeni Linux sistem na sigurniji način pružanjem TOTP (Vremenski bazirana jednokratna lozinka) broja koji nasumično generira aplikacija za autentifikaciju na mobilnom uređaju.

Pročitajte također: Kako postaviti dvofaktorsku autentifikaciju za SSH prijave u CentOS-u i Debianu

Imajte na umu da za svoj mobilni uređaj možete koristiti bilo koju aplikaciju za dvosmjernu autentifikaciju koja je kompatibilna sa TOTP algoritmom. Postoje brojne besplatne aplikacije dostupne za Android ili IOS koje podržavaju TOTP i Google Authenticator, ali ovaj članak koristi Google Authenticator kao primjer.

Instalacija Google Authenticator-a na Fedora

Prvo instalirajte aplikaciju Google Authenticator na vaš Fedora server koristeći sljedeću dnf komandu.

sudo dnf install -y google-authenticator

Nakon što instalirate Google Authenticator, sada možete pokrenuti aplikaciju.

google-authenticator

Aplikacija vam postavlja niz pitanja. Sljedeći isječci vam pokazuju kako odgovoriti za razumno sigurno postavljanje.

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

Aplikacija vam daje tajni ključ, verifikacioni kod i kodove za oporavak. Čuvajte ove ključeve na sigurnoj sigurnoj lokaciji, jer su ovi ključevi jedini način da pristupite vašem serveru ako izgubite mobilni uređaj.

Postavljanje provjere autentičnosti mobilnog telefona

Na svom mobilnom telefonu idite u trgovinu aplikacija Google Play ili iTunes i potražite Google Authenticator i instalirajte aplikaciju.

Sada otvorite aplikaciju Google Authenticator na svom mobilnom telefonu i skenirajte QR kod prikazan na ekranu Fedora terminala. Kada se skeniranje QR koda završi, dobićete nasumično generisani broj od strane aplikacije za autentifikaciju i koristiti ovaj broj svaki put kada se daljinski povežete sa svojim Fedora serverom.

Završite konfiguraciju Google autentifikatora

Aplikacija Google Authenticator postavlja dodatna pitanja, a sljedeći primjer pokazuje kako odgovoriti na njih da biste postavili sigurnu konfiguraciju.

Sada morate konfigurirati SSH da koristi novu dvosmjernu autentifikaciju kao što je objašnjeno u nastavku.

Konfigurirajte SSH za korištenje Google Authenticator

Da konfigurišete SSH da koristi aplikaciju autentikator, prvo morate imati ispravnu SSH vezu koristeći javne SSH ključeve, jer ćemo onemogućiti veze sa lozinkom.

Otvorite datoteku /etc/pam.d/sshd na svom serveru.

sudo vi /etc/pam.d/sshd

Komentirajte liniju auth substack password-auth u datoteci.

#auth       substack     password-auth

Zatim stavite sljedeći red na kraj datoteke.

auth sufficient pam_google_authenticator.so

Sačuvajte i zatvorite datoteku.

Zatim otvorite i uredite datoteku /etc/ssh/sshd_config.

sudo vi /etc/ssh/sshd_config

Potražite liniju ChallengeResponseAuthentication i promijenite je u yes.

ChallengeResponseAuthentication yes

Potražite liniju PasswordAuthentication i promijenite je u ne.

PasswordAuthentication no

Zatim stavite sljedeći red na kraj datoteke.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Sačuvajte i zatvorite datoteku, a zatim ponovo pokrenite SSH.

sudo systemctl restart sshd

Testiranje dvofaktorske autentifikacije na Fedori

Sada pokušajte da se povežete sa svojim serverom na daljinu, on će od vas tražiti da unesete verifikacioni kod.

ssh [email 

Verification code:

Verifikacioni kod se generira nasumično na vašem mobilnom telefonu pomoću aplikacije za autentifikaciju. Budući da se generirani kod mijenja svakih nekoliko sekundi, morate ga brzo unijeti prije nego što kreira novi.

Ako unesete pogrešan verifikacioni kod, nećete moći da se povežete na sistem i dobićete sledeću grešku odbijene dozvole.

ssh [email 

Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).
Zaključak

Implementacijom ove jednostavne dvosmjerne autentifikacije, dodali ste dodatni sloj sigurnosti vašem sistemu, a to otežava nepoznatom korisniku pristup vašem serveru.