Kako postaviti dvofaktorsku autentifikaciju za SSH na Fedori


Čini se da se svakodnevno prijavljuje puno sigurnosnih propusta tamo gdje su naši podaci u opasnosti. Unatoč činjenici da je SSH siguran način uspostavljanja veze na daljinu s Linux sustavom, ali svejedno, nepoznati korisnik može dobiti pristup vašem Linux stroju ako vam ukrade SSH ključeve, čak i ako onemogućite lozinke ili dopustite SSH veze javni i privatni ključevi.

U ovom ćemo članku objasniti kako postaviti dvofaktorsku provjeru autentičnosti (2FA) za SSH na Fedora Linux distribuciji koristeći Google Authenticator za pristup udaljenom Linux sustavu na sigurniji način pružajući TOTP (jednokratno temeljeno na vremenu Lozinka) broj koji slučajno generira aplikacija za provjeru autentičnosti na mobilnom uređaju.

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

Instaliranje Google Autentifikatora na Fedoru

Prvo instalirajte aplikaciju Google Authenticator na svoj Fedora poslužitelj pomoću sljedeće dnf naredbe.

$ sudo dnf install -y google-authenticator

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

$ google-authenticator

Aplikacija vas pita za niz pitanja. Sljedeći isječci pokazuju vam kako odgovoriti na 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 pruža tajni ključ, kontrolni kôd i kodove za oporavak. Držite ove ključeve na sigurnom sigurnom mjestu, jer su ti ključevi jedini način pristupa poslužitelju ako izgubite mobilni uređaj.

Postavljanje autentifikacije 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 kôd prikazan na zaslonu Fedora terminala. Kada se završi skeniranje QR koda, dobit ćete slučajno generirani broj od strane aplikacije za provjeru autentičnosti i koristiti ga svaki put kada se daljinski povežete sa svojim Fedora poslužiteljem.

Završite konfiguraciju Google Autentifikatora

Aplikacija Google Authenticator postavlja daljnja pitanja, a sljedeći primjer pokazuje kako odgovoriti na njih za postavljanje sigurne konfiguracije.

Sada morate konfigurirati SSH da koristi novu dvosmjernu provjeru autentičnosti kako je objašnjeno u nastavku.

Konfigurirajte SSH za upotrebu Google autentifikatora

Da biste konfigurirali SSH da koristi aplikaciju za provjeru autentičnosti, prvo morate imati ispravnu SSH vezu pomoću javnih SSH ključeva, jer ćemo onemogućiti veze lozinkom.

Otvorite datoteku /etc/pam.d/sshd na vašem poslužitelju.

$ sudo vi /etc/pam.d/sshd

Komentirajte red auth potkombinacije password-auth u datoteci.

#auth       substack     password-auth

Zatim stavite sljedeći redak na kraj datoteke.

auth sufficient pam_google_authenticator.so

Spremite i zatvorite datoteku.

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

$ sudo vi /etc/ssh/sshd_config

Potražite redak ChallengeResponseAuthentication i promijenite ga u yes .

ChallengeResponseAuthentication yes

Potražite redak PasswordAuthentication i promijenite ga u no .

PasswordAuthentication no

Zatim stavite sljedeći redak na kraj datoteke.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Spremite i zatvorite datoteku, a zatim ponovo pokrenite SSH.

$ sudo systemctl restart sshd

Testiranje dvofaktorske provjere autentičnosti na Fedori

Pokušajte se daljinski povezati sa svojim poslužiteljem, tražit će od vas da unesete kontrolni kôd.

$ ssh [email 

Verification code:

Potvrdni kod generira se slučajno na vašem mobilnom telefonu pomoću vaše aplikacije za provjeru autentičnosti. Budući da se generirani kôd mijenja svakih nekoliko sekundi, morate ga brzo unijeti prije nego što stvori novi.

Ako unesete pogrešan kontrolni kôd, nećete se moći povezati sa sustavom i dobit ćete sljedeću pogrešku odbijenu dozvolu.

$ ssh [email 

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

Implementacijom ove jednostavne dvosmjerne provjere autentičnosti dodali ste dodatni nivo sigurnosti svom sustavu, a pored toga nepoznatom korisniku otežavate pristup vašem poslužitelju.