Prema zadanim postavkama, SSH već koristi sigurnu podatkovnu komunikaciju između udaljenih strojeva, ali ako želite dodati dodatni sigurnosni sloj u svoje SSH veze, možete dodati Google autentifikator (dvofaktorska autentifikacija) koji vam omogućuje unos slučajne jednokratne lozinke (TOTP) kontrolni kôd prilikom povezivanja na SSH poslužiteljima. Morat ćete unijeti kontrolni kôd sa svojeg računa pametni telefon ili PC kada se povežete.
The Google autentifikator je modul otvorenog koda koji uključuje implementacije jednokratnih šifri (TOTP) token za provjeru razvio Google. Podržava nekoliko mobilnih platformi, kao i PAM (Modul za provjeru autentičnosti koji se može priključiti). Ove jednokratne šifre generiraju se pomoću otvorenih standarda koje je stvorio ZAKLETVAInicijativa za otvorenu provjeru autentičnosti).
U ovom članku ću vam pokazati kako postaviti i konfigurirati SSH za dvofaktorsku autentifikaciju pod crveni šešir, CentOS, Fedora i Ubuntu, Linux Mint i Debian.
Otvorite uređaj na kojem želite postaviti dvofaktorsku provjeru autentičnosti i instalirajte sljedeće PAM knjižnice zajedno s razvojnim knjižnicama koje su potrebne za PAM modul za ispravan rad Googleov autentifikator modul.
Na crveni šešir, CentOS i Fedora sustavi instaliraju ‘pam-devel‘Paket.
# yum install pam-devel makemake libtool gcc-c ++ wget
Na Ubuntu, Linux Mint i Debian sustavi instaliraju 'libpam0g-dev‘Paket.
# apt-get install libpam0g-dev make automake libtool gcc-c ++ wget.
Sada klonirajte i instalirajte Googleov autentifikator modul pod Dom direktorij (pretpostavimo da ste već prijavljeni u matični direktorij u korijen) koristeći sljedeće git naredba.
# git klon https://github.com/google/google-authenticator-libpam.git. # cd google-authentication-libpam/ # ./bootstrap.sh. # ./konfiguracija. # napraviti. # make install. # google-autentifikator.
Nakon što pokrenete 'google-autentifikator‘Naredba, postavit će vam ozbiljno pitanje. Jednostavno upišite "y” (Da) kao odgovor u većini situacija. Ako nešto pođe po zlu, možete ponovno upisati 'google-autentifikator‘Naredba za poništavanje postavki.
Nakon ovog pitanja dobit ćete svojtajni ključ'I'kodovi za hitne slučajeve‘. Zapišite negdje ove detalje, trebat će nam ‘Tajni ključ‘Kasnije za postavljanje Google autentifikator app.
[[zaštićena e -pošta] google-authentication-libpam]# google-authentication Želite li da žetoni za provjeru autentičnosti budu zasnovani na vremenu (g/n) y https://www.google.com/chart? chs = 200x200 & chld = M | 0 & cht = qr & chl = otpauth: // totp/[zaštićena e -pošta]%3Fsecret%3DXEKITDTYCBA2TLPL. Tvoja nova tajni ključ je: XEKITDTYCBA2TLPL Vaše kontrolni kod je 461618. Vaše kodovi grebanja u nuždi su: 65083399 10733609 47588351 71111643 92017550.
Zatim slijedite čarobnjaka za postavljanje i u većini slučajeva upišite odgovor kao “y” (Da) kao što je prikazano niže.
Želite li da ažuriram vašu datoteku "/root/.google_authenticator" (g/n) y Želite li onemogućiti višestruku upotrebu iste provjere autentičnosti. znak? To vas ograničava na jednu prijavu otprilike svakih 30 -ih, ali se povećava. vaše šanse da primijetite ili čak spriječite napade čovjeka u sredini (g/n) y Prema zadanim postavkama, žetoni su dobri 30 sekundi, a kako bi se to nadoknadilo. mogući vremenski pomak između klijenta i poslužitelja dopuštamo dodatni. žeton prije i poslije tekućeg vremena. Ako imate problema sa siromašnima. vremensku sinkronizaciju, možete povećati prozor prema zadanim postavkama. veličine 1: 30min do otprilike 4min. Želite li to učiniti (g/n) y Ako računalo na koje se prijavljujete nije otvrdnuto od grube sile. pokušaje prijave, možete omogućiti ograničenje brzine za modul provjere autentičnosti. Prema zadanim postavkama, napadači ograničavaju na najviše 3 pokušaja prijave svakih 30 sekundi. Želite li omogućiti ograničenje brzine (g/n) y.
Otvori PAM konfiguracijska datoteka '/etc/pam.d/sshd'I dodajte sljedeći redak na vrh datoteke.
potrebna auth. pam_google_authenticator.so
Zatim otvorite SSH konfiguracijska datoteka '/etc/ssh/sshd_config‘I pomaknite se prema dolje da biste pronašli redak koji kaže.
ChallengeResponseAuthentication br
Promijenite u "Da“. Dakle, postaje ovako.
ChallengeResponseAuthentication da
Na kraju, ponovno pokrenite SSH usluga za poduzimanje novih promjena.
# /etc/init.d/sshd ponovno pokretanje
Pokreni Google autentifikator aplikaciju na svom pametnom telefonu. Pritisnite Jelovnik i odaberite "Postavite račun“. Ako nemate ovu aplikaciju, možete je preuzeti i instalirati Google autentifikator aplikaciju na vašem Android/iPhone/Blackberry uređaja.
Pritisnite “Unesite dostavljeni ključ”.
Dodajte svoj račun "Ime'I unesite'tajni ključ‘Generirano ranije.
Generirat će jednokratnu lozinku (kontrolni kod) koji će se stalno mijenjati svaki 30 sekundi na svom telefonu.
Sada se pokušajte prijaviti putem SSH, od vas će se zatražiti da Kôd Google autentifikatora (Verifikacijski kod) i Lozinka kad god se pokušate prijaviti putem SSH. Imate samo 30 sekundi za unos ovog kontrolnog koda, ako ga propustite, regenerirat će novi kontrolni kôd.
prijavite se kao: tecmint. Pristup odbijen. Korištenje interaktivne tipkovnice za provjeru autentičnosti. Verifikacijski kod: Korištenje tipkovničke interaktivne provjere autentičnosti. Lozinka: Zadnja prijava: Uto, 23. travnja 13:58:29 2013. od 172.16.25.125. [[zaštićena e -pošta] ~]#
Ako nemate pametni telefon, možete koristiti i Firefox pozvan dodatak GAuth autentifikator obaviti dvofaktorsku autentifikaciju.
Važno: Dvofaktorska autentifikacija radi sa SSH prijavom temeljenom na lozinki. Ako koristite bilo koji SSH sesija privatnog/javnog ključa, zanemarit će dvofaktorsku provjeru autentičnosti i izravno vas prijaviti.