Ziel ist hier den Zugriff auf einen Server nicht allein von einem Passwort oder SSH-Key abhängig zu machen, sondern einen zusätzlichen Faktor abzufragen. In diesem Fall wird in einem Zeit-basierten Verfahren ein Token generiert, das 30 Sekunden gültig bleibt und nur einmalig verwendet werden kann. Die benötigte Software "google-authenticator" trägt zwar das Unternehmen im Namen, baut jedoch zu keiner Zeit eine Verbindung zu ihm auf. Die Generierung des Keys wie auch die Berechnung des Tokens findet komplett offline statt.

1. Installation der benötigten Software:

# apt install libpam-google-authenticator qrencode

 

2. Anpassung der PAM-Konfiguration für SSH, Datei: /etc/pam.d/sshd

auth required pam_google_authenticator.so nullok
# Standard Un*x authentication.
## @include common-auth

 

3. Anpassung der SSHD-Konfiguration, Datei /etc/ssh/sshd_config

ChallengeResponseAuthentication yes

# Enable 2FA
AuthenticationMethods publickey,keyboard-interactive

 

4. Erzeugen des Tokens

  • Unter den Berechtigungen des jeweiligen Users das Token einrichten (Die "X"-Folgen repräsentieren hier den geheimen Schlüssel)

$ google-authenticator

Warning: pasting the following URL into your browser exposes the OTP secret to Google:
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/server@%3Fsecret%XXXXXXXXXXXXXXXXXXXXXXXXXX%26issuer%3Dserver

Your new secret key is: XXXXXXXXXXXXXXXXXXXXXXXXXX
Enter code from app (-1 to skip): XXXXXX

Hier wird automatisch in der Shell per UTF8-Zeichen ein QR-Code zum Einscannen erzeugt. Zur Bestätigung wird an dieser Stelle eine gültige PIN erwartet, dann wird die Konfigurationsdatei unter ~/.google_authenticator erzeugt und das Token dort hinein geschrieben. Bitte NICHT die angefügte URL im Browser eingeben. Sie ist dafür bestimmt, einen QR-Code zu erzeugen, das bedeutet jedoch, dass das geheime Token an Google übermittelt wird.

Weiterhin werden 5 Notfall-Codes generiert, mit denen das Login einmalig möglich ist, für den Fall, dass das TOTP außer Kraft ist (Fehlkonfiguration, Zeitungleichheit, Handy defekt etc.)

Hinweis: Diese Datei darf nur den Mode 600 erhalten, da das Token hier abgelegt ist. Eine mehrfache Benutzung der Datei (kopieren in ein anderes Home-Dir) ist nicht möglich!

Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.