Kuidas seadistada SSH sisselogimiste jaoks kahefaktoriline autentimine (Google Authenticator)
Vaikimisi kasutab SSH juba kaugmasinate vahel turvalist andmesidet, kuid kui soovite oma SSH-ühendustele lisada täiendava turvakihi, võite lisada Google Authenticatori (kaheastmeline autentimine) mooduli, mis võimaldab teil sisestada juhusliku. -aja parooli (TOTP) kinnituskood SSH-serveritega ühenduse loomisel. Ühenduse loomisel peate sisestama kinnituskoodi nutitelefonist või arvutist.
Google Authenticator on avatud lähtekoodiga moodul, mis sisaldab Google'i välja töötatud ühekordsete pääsukoodide (TOTP) kinnitusmärgi juurutusi. See toetab mitut mobiilset platvormi, samuti PAM-i (Pluggable Authentication Module). Need ühekordsed pääsukoodid genereeritakse OATHi avatud autentimise algatuse loodud avatud standardite abil).
Selles artiklis näitan teile, kuidas seadistada ja konfigureerida SSH kahefaktorilise autentimise jaoks Red Hat, CentOS, Fedora ja Ubuntu, Linux Mint ja Debian all.
Google Authenticatori mooduli installimine
Avage masin, millele soovite seadistada kaheastmelise autentimise, ja installige järgmised PAM-i teegid koos arendusteekidega, mis on vajalikud PAM-mooduli õigeks töötamiseks Google'i autentimismooduliga.
Red Hatile installivad CentOS ja Fedora süsteem paketi pam-devel.
# yum install pam-devel make automake libtool gcc-c++ wget
Ubuntu installivad Linux Mint ja Debian süsteemid paketi libpam0g-dev.
# apt-get install libpam0g-dev make automake libtool gcc-c++ wget
Kloonige ja installige Google'i autentimismoodul kodukataloogi (oletame, et olete juba juurkoja kataloogi sisse loginud), kasutades järgmist git-käsku.
# git clone https://github.com/google/google-authenticator-libpam.git # cd google-authenticator-libpam/ # ./bootstrap.sh # ./configure # make # make install # google-authenticator
Kui olete käivitanud käsu google-authentator, küsib see teile tõsise küsimusega. Sisestage enamikus olukordades vastuseks lihtsalt "y" (jah). Kui midagi läheb valesti, võite seadete lähtestamiseks sisestada uuesti käsu ‘google-authentator’.
- Kas soovite, et autentimismärgid oleksid ajapõhised (jah/n) y
Selle küsimuse järel saate oma salajase võtme ja hädaabikoodid. Kirjutage need üksikasjad kuhugi üles, vajame hiljem Google Authenticatori rakenduse seadistamiseks salajast võtit.
google-authenticator Do you want authentication tokens to be time-based (y/n) y https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/[email %3Fsecret%3DXEKITDTYCBA2TLPL Your new secret key is: XEKITDTYCBA2TLPL Your verification code is 461618 Your emergency scratch codes are: 65083399 10733609 47588351 71111643 92017550
Järgmisena järgige häälestusviisardit ja sisestage vastus enamasti „y” (jah), nagu allpool näidatud.
Do you want me to update your "/root/.google_authenticator" file (y/n) y Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) y If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) y
SSH konfigureerimine Google Authenticatori mooduli kasutamiseks
Avage PAM-i konfiguratsioonifail ‘/etc/pam.d/sshd’ ja lisage järgmine rida faili ülaossa.
auth required pam_google_authenticator.so
Järgmisena avage SSH-i konfiguratsioonifail '/ etc/ssh/sshd_config' ja kerige alltoodud rea leidmiseks.
ChallengeResponseAuthentication no
Muutke see väärtuseks „jah“. Nii saab sellest selline.
ChallengeResponseAuthentication yes
Lõpuks taaskäivitage SSH-teenus uute muudatuste tegemiseks.
# /etc/init.d/sshd restart
Google Authenticatori rakenduse konfigureerimine
Käivitage nutitelefonis rakendus Google Authenticator. Vajutage Menüü ja valige „Konto seadistamine“. Kui teil seda rakendust pole, saate rakenduse Google Authenticator alla laadida ja installida oma Androidi/iPhone'i/Blackberry seadmetesse.
Vajutage nuppu "Sisestage klahv".
Lisage oma konto nimi ja sisestage varem loodud salajane võti.
See genereerib ühekordse parooli (kinnituskoodi), mis muutub teie telefonis pidevalt iga 30 sekundi järel.
Proovige nüüd SSH kaudu sisse logida. Teil palutakse alati, kui proovite SSH kaudu sisse logida, Google Authenticatori koodi (kinnituskood) ja parooli. Selle kinnituskoodi sisestamiseks on teil aega vaid 30 sekundit, kui te seda vahele jätate, uuendab see uue kinnituskoodi.
login as: tecmint Access denied Using keyboard-interactive authentication. Verification code: Using keyboard-interactive authentication. Password: Last login: Tue Apr 23 13:58:29 2013 from 172.16.25.125
Kui teil pole nutitelefoni, võite kahefaktorilise autentimise kasutamiseks kasutada ka Firefoxi lisandmoodulit, mille nimi on GAuth Authenticator.
Tähtis: Kaheastmeline autentimine töötab paroolipõhise SSH sisselogimisega. Kui kasutate mõnda privaatse/avaliku võtme SSH-seanssi, ignoreerib see kaheastmelist autentimist ja logib teid otse sisse.