SSH authentifizierung mittels Google Authenticator
Vorbereitung
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.
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
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.
Du musst angemeldet sein, um kommentieren zu können.