Wéi Setup Zwee-Faktor Authentifikatioun (Google Authenticator) fir SSH Logins
Par défaut benotzt SSH schonn eng sécher Datekommunikatioun tëscht Fernmaschinnen, awer wann Dir eng extra Sécherheetsschicht op Är SSH Verbindunge wëllt addéieren, kënnt Dir e Google Authenticator (Zwee-Faktor Authentifikatioun) Modul addéieren, deen Iech erlaabt eng zoufälleg anzeginn. -Zäit Passwuert (TOTP) Verifizéierungscode wärend Dir mat SSH Server verbënnt. Dir musst de Verifizéierungscode vun Ärem Smartphone oder PC aginn wann Dir verbënnt.
De Google Authenticator ass en Open-Source Modul deen Implementatioune vun eemolege Passcodes (TOTP) Verifizéierungstoken enthält, entwéckelt vu Google. Et ënnerstëtzt verschidde mobil Plattformen, souwéi PAM (Pluggable Authentication Module). Dës eemoleg Passcodes ginn generéiert mat oppene Standarden erstallt vun der OATH Initiative for Open Authentication).
An dësem Artikel wäert ech Iech weisen wéi Dir SSH fir Zwee-Faktor Authentifikatioun ënner Red Hat, CentOS, Fedora an Ubuntu, Linux Mint an Debian konfiguréieren an konfiguréieren.
Installéiere vum Google Authenticator Modul
Öffnen d'Maschinn déi Dir zwee-Faktor Authentifikatioun opriichte wëllt an installéiere folgend PAM-Bibliothéiken zesumme mat Entwécklungsbibliothéiken déi gebraucht ginn fir datt de PAM-Modul korrekt mam Google Authentifizéierer-Modul funktionnéiert.
Op Red Hat, CentOS a Fedora Systemer installéieren de 'pam-devel' Package.
# yum install pam-devel make automake libtool gcc-c++ wget
Op Ubuntu, Linux Mint an Debian Systemer installéieren 'libpam0g-dev' Package.
# apt-get install libpam0g-dev make automake libtool gcc-c++ wget
Elo klon an installéiert de Google Authentifizéierer Modul ënner Heemverzeechnes (unhuelen datt Dir schonn am Heemverzeichnis vun der Root ageloggt sidd) mam folgenden git Kommando.
# git clone https://github.com/google/google-authenticator-libpam.git # cd google-authenticator-libpam/ # ./bootstrap.sh # ./configure # make # make install # google-authenticator
Wann Dir de Kommando google-Authenticator ausféiert, freet et Iech eng sérieux Fro. Typ einfach y (Jo) als Äntwert an de meeschte Situatiounen. Wann eppes falsch geet, kënnt Dir nach eng Kéier 'google-authenticator' Kommando tippen fir d'Astellungen zréckzesetzen.
- Wëllt Dir datt d'Authentifikatiouns-Tokens Zäitbaséiert sinn (y/n) y
No dëser Fro kritt Dir Äre 'geheime Schlëssel'an 'Noutcoden'. Schreift dës Detailer iergendwou erof, mir brauchen de 'geheime Schlëssel' spéider fir d'Google Authenticator App opzestellen.
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
Als nächst, befollegt de Setup-Assistent an an de meeschte Fäll gitt d'Äntwert als y (Jo) wéi hei ënnendrënner.
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 konfiguréieren fir de Google Authenticator Module ze benotzen
Öffnen d'PAM Konfiguratiounsdatei '/etc/pam.d/sshd' a füügt déi folgend Zeil un der Spëtzt vun der Datei.
auth required pam_google_authenticator.so
Als nächst, öffnen d'SSH Konfiguratiounsdatei '/etc/ssh/sshd_config' a scrollt erof fir d'Linn ze fannen déi seet.
ChallengeResponseAuthentication no
Ännert et op Jo. Also, et gëtt esou.
ChallengeResponseAuthentication yes
Endlech, Restart SSH Service fir nei Ännerungen ze huelen.
# /etc/init.d/sshd restart
Google Authenticator App konfiguréieren
Lancéiere Google Authenticator App op Ärem Smartphone. Press Menu a wielt Kont opmaachen. Wann Dir dës App net hutt, kënnt Dir d'Google Authenticator App op Ärem Android/iPhone/Blackberry Apparater eroflueden an installéieren.
Press \Enter-Schlëssel geliwwert.
Füügt Äre Kont 'Numm' a gitt de 'geheime Schlëssel'virdru generéiert.
Et generéiert ee Kéier Passwuert (Verifikatiounscode) dat dauernd all 30 Sekonnen op Ärem Telefon ännert.
Elo probéiert Iech iwwer SSH anzeloggen, Dir wäert mat Google Authenticator Code (Verifikatiounscode) a Passwuert gefrot ginn wann Dir probéiert Iech iwwer SSH anzeloggen. Dir hutt nëmmen 30 Sekonnen fir dëse Verifizéierungscode anzeginn, wann Dir verpasst, gëtt en neie Verifikatiounscode regeneréiert.
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
Wann Dir kee Smartphone hutt, kënnt Dir och e Firefox Add-on mam Numm GAuth Authenticator benotzen fir Zwee-Faktor Authentifikatioun ze maachen.
Wichteg: D'Zwee-Faktor Authentifikatioun funktionnéiert mat Passwuert baséiert SSH Login. Wann Dir eng privat/ëffentlech Schlëssel SSH Sessioun benotzt, wäert et zwee-Faktor Authentifikatioun ignoréieren an Iech direkt aloggen.