CentOS 7 Zwei Faktor SSH Authentifizeirung mit googleauthenticator

Oktober 6, 2019 - Lesezeit: 11 Minuten

Für den Start benötigen wir folgende Smartphone App. diese wird für die generierung der 2FA Codes benötigt:
https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp&hl=de
https://apps.apple.com/de/app/freeotp-authenticator/id872559395

Anmeldung via SSH (Passwort / Key Auth) auf dem SSH Server
Installation der Benötigten Pakete via yum :

yum install google-authenticator

Anpassung in der PAM sshd Config:

vi /etc/pam.d/sshd

Einfügen folgendes Befehles:

# google auth 2FA
auth required pam_google_authenticator.so

Anpassen der SSH sshd_config Datei:

vi /etc/ssh/sshd_config

Anpassung und einfügen folgender Befehle:

# Change to no to disable s/key passwords
ChallengeResponseAuthentication yes
# Use PAM for Authentication
UsePAM yes
# google 2FA force with SSH Key
AuthenticationMethods publickey,keyboard-interactive

Wechseln des Benutzer zur Generierung der 2FA Schlüssel (dieser schritt muss für jeden Benutzer durchgeführt werden!):

su - USERNAME

Aufrufen des Konfiguration Wizards:

google-authenticator

Abscannen des QR Codes mittels der Smartphone APP:

Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/admin/.google_authenticator" file? (y/n) y
your chances to notice or even prevent man-in-the-middle attacks (y/n) y
Do you want to do so? (y/n) n
Do you want to enable rate-limiting? (y/n) y

Neustarten des SSHD Services (als Root):

systemctl restart sshd

Starten einer neuen SSH Sitzung via z.B. Putty mit dem vorher benutzten USERNAME
(Achtung die bestehende root verbindung nicht Schließen!!):

Folgende Abfrage sollte erscheinen:

  1. Passwort für den Privaten SSH-KeY
  2. Passwort des Benutzers
  3. Verifikation Code aus der OTP App

Es wurden noch keine Kommentare verfasst, sei der erste!