Zum Inhalt springen

Zwei Faktor SSH autentifizierung

Print Friendly, PDF & Email

SSH authentifizierung mittels Google Authenticator

Vorbereitung

SSH: Google Authenticator

SSH: Symbolbild

Zunächst einmal benötigen wir die PAM Bibliothek welche wir mit diesem Befehl installieren:

sudo apt-get install libpam-google-authenticator

Um diese zu aktivieren, öffnen Sie die Konfigurationsdatei „/etc/ssh/sshd_config“ des SSH-Dienstes mit root-Privilegien in einem editor (z.B. nano oder vi). Die Zeile „ChallengeResponseAuthentication no“ in der Mitte der Datei ändern Sie zu:

ChallengeResponseAuthentication yes

sowie die nachfolgende Zeile „#PasswordAuthentication yes“ darunter wie folgt:

PasswordAuthentication no

 

Stelle sicher, dass „UsePAM“ ganz am Ende der Datei auf die Standardeinstellung

UsePAM yes

gesetzt ist. Speichern die Datei ab, und öffnen Sie die weitere Konfigurationsdatei „/etc/pam.d/sshd“ in einem editor – wieder mit root-Rechten. Dort tragen Sie oben nach der Zeile „@include common-auth“ noch die folgende Zeile

auth required pam_google_authenticator.so

ein. Damit die Bibliothek sowie der SSH-Dienst neu geladen werden, ist ein Neustart des SSH-Servers mittels des Befehls

sudo service ssh restart

erforderlich.

Für das Benutzerkonto, das über SSH eine Zwei-Wege-Authentifizierung bekommen soll, rufen Sie im Terminal die Accounteinrichtung mittels

google-authenticator

auf – nicht als root, da es sich um eine Einstellung des Benutzerkontos handelt. Die Frage „Do you want authentication tokens to be time-based?“ beantworten Sie mit „y“. Nun bekommen Sie im Terminal einen QR-Code und einen Schlüssel angezeigt. Den Schlüssel oder den QR-Code brauchen Sie für die Einrichtung des Einmalcode-Generators auf dem Smartphone oder Tablet. Bei den weiteren drei Fragen ist ebenfalls bejahendes „y“ zu empfehlen. Lassen Sie das Terminalfenster mit dem QR-Code zur Freischaltung des Smartphones danach noch geöffnet. Notieren Sie sich außerdem die fünf „Emergency scratch codes“ und verwahren Sie diese an einem sicheren Ort.

Google Autenticator

Smartphone oder Tablet einrichten

Damit ein Mobilgerät passende Einmalcodes zur Anmeldung erstellen kann, muss dort die App des Google Authenticators installiert sein. Für Android ist diese App Open Source und liegt nicht nur bei Google Play sowie als APK-Datei bereit. Apple-Geräte mit iOS bekommen die App in iTunes . In Blackberry-Smartphones öffnen Sie die Seite http://m.google.com/authenticator im Webbrowser, um die App zu installieren. Um SSH-Server und App miteinander bekannt zu machen, gehen Sie in der App auf „Konto einrichten“ in den Optionen. Mit „Barcode scannen“ fotografieren Sie mit der Kamera des Smartphones oder des Tablets den QR-Code des noch geöffneten Terminalfensters. Alternativ können Sie mit der App-Funktion „Schlüssel eingeben“ den Code aus dem Terminalfenster hinter „Your new secret key is:“ manuell eintippen. Ab jetzt liefert die App zeitlich begrenzte sechsstellige Einmalcodes.

Und so funktioniert ab jetzt die SSH-Anmeldung an dem Benutzerkonto mit aktivierter Zwei-Wege-Authentifizierung: Nach der üblichen Kontaktaufnahme mit

SSH Login

SSH Login

Die Einmalcodes sind 30 Sekunden gültig und werden dann neu erstellt. Eine Netzverbindung ist dafür nicht notwendig, da der Algorithmus nach der ersten Einrichtung ganz unabhängig arbeitet.

Im Notfall: Falls das Mobilgerät einmal nicht verfügbar sein sollte, dann verwenden Sie einen der „Emergency scratch codes“, die jeweils einmal anstatt eines frisch generierten Einmalcodes funktionieren.

Please wait...

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.


Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib/php8.0/extensions/imagick.so (/usr/lib/php8.0/extensions/imagick.so: cannot open shared object file: No such file or directory), /usr/lib/php8.0/extensions/imagick.so.so (/usr/lib/php8.0/extensions/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'php_imagick.dll' (tried: /usr/lib/php8.0/extensions/php_imagick.dll (/usr/lib/php8.0/extensions/php_imagick.dll: cannot open shared object file: No such file or directory), /usr/lib/php8.0/extensions/php_imagick.dll.so (/usr/lib/php8.0/extensions/php_imagick.dll.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0