So melden Sie sich mit Google Authenticator bei Ihrem Linux-Desktop an
Für zusätzliche Sicherheit können Sie ein zeitbasiertes Authentifizierungstoken sowie ein Kennwort für die Anmeldung an Ihrem Linux-PC anfordern. Diese Lösung verwendet Google Authenticator und andere TOTP-Apps.
Dieser Vorgang wurde auf Ubuntu 14.04 mit dem Standard-Unity-Desktop und dem LightDM-Anmeldemanager ausgeführt. Die Prinzipien sind jedoch auf den meisten Linux-Distributionen und Desktops gleich.
Wir haben Ihnen bereits gezeigt, wie Sie Google Authenticator für den Remote-Zugriff über SSH benötigen. Dieser Vorgang ist ähnlich. Dies erfordert keine Google Authenticator-App, sondern funktioniert mit jeder kompatiblen App, die das TOTP-Authentifizierungsschema implementiert, einschließlich Authy.
Installieren Sie den Google Authenticator PAM
Wie beim Einrichten des SSH-Zugriffs müssen wir zuerst die entsprechende PAM-Software ("pluggable-authentication module") installieren. PAM ist ein System, mit dem verschiedene Arten von Authentifizierungsmethoden in ein Linux-System eingefügt werden können und dies erfordert.
Unter Ubuntu wird der folgende Befehl installiert, um den Google Authenticator PAM zu installieren. Öffnen Sie ein Terminalfenster, geben Sie den folgenden Befehl ein, drücken Sie die Eingabetaste, und geben Sie Ihr Kennwort ein. Das System lädt das PAM von den Software-Repositorys Ihrer Linux-Distribution herunter und installiert es:
sudo apt-get install libpam-google-authenticator
Bei anderen Linux-Distributionen sollte dieses Paket hoffentlich auch für eine einfache Installation verfügbar sein - öffnen Sie die Software-Repositorys Ihrer Linux-Distribution und führen Sie eine Suche danach durch. Im schlimmsten Fall können Sie den Quellcode für das PAM-Modul auf GitHub finden und selbst kompilieren.
Wie bereits erwähnt, ist diese Lösung nicht darauf angewiesen, zu Hause mit den Servern von Google zu telefonieren. Es implementiert den Standard-TOTP-Algorithmus und kann auch verwendet werden, wenn Ihr Computer keinen Internetzugang hat.
Erstellen Sie Ihre Authentifizierungsschlüssel
Sie müssen nun einen geheimen Authentifizierungsschlüssel erstellen und in die App Google Authenticator (oder eine ähnliche) App Ihres Telefons eingeben. Melden Sie sich zuerst als Ihr Benutzerkonto bei Ihrem Linux-System an. Öffnen Sie ein Terminalfenster und führen Sie das aus Google-Authenticator Befehl. Art y und folgen Sie den Anweisungen hier. Dadurch wird im Verzeichnis des aktuellen Benutzerkontos eine spezielle Datei mit den Informationen zu Google Authenticator erstellt.
Sie werden außerdem durch den Vorgang geführt, in dem Sie den Zwei-Faktor-Bestätigungscode in einem Google Authenticator oder einer ähnlichen TOTP-App auf Ihrem Smartphone erhalten. Ihr System kann einen QR-Code generieren, den Sie scannen können, oder Sie können ihn manuell eingeben.
Notieren Sie sich unbedingt Ihren Notfall-Kratzcode, mit dem Sie sich bei einem Verlust Ihres Telefons anmelden können.
Führen Sie diesen Vorgang für jedes Benutzerkonto durch, das Ihren Computer verwendet. Wenn Sie beispielsweise die einzige Person sind, die Ihren Computer verwendet, können Sie dies nur einmal unter Ihrem normalen Benutzerkonto tun. Wenn Sie eine andere Person haben, die Ihren Computer verwendet, müssen Sie sich bei ihrem eigenen Konto anmelden und einen entsprechenden Zwei-Faktor-Code für ihren eigenen Account generieren, damit sie sich anmelden können.
Aktivieren Sie die Authentifizierung
Hier wird es etwas feucht. Als wir erklärten, wie zwei Faktoren für SSH-Anmeldungen aktiviert werden können, benötigten wir dies nur für SSH-Anmeldungen. Dies stellte sicher, dass Sie sich trotzdem lokal anmelden können, wenn Sie Ihre Authentifizierungs-App verloren haben oder wenn etwas schief ging.
Da wir die Zwei-Faktor-Authentifizierung für lokale Anmeldungen aktivieren, gibt es hier möglicherweise Probleme. Wenn etwas schief geht, können Sie sich möglicherweise nicht anmelden. In Anbetracht dessen führen wir Sie durch, indem Sie dies nur für grafische Anmeldungen aktivieren. Dies gibt Ihnen eine Notausstiegsluke.
Aktivieren Sie den Google Authenticator für grafische Anmeldungen auf Ubuntu
Sie können die zweistufige Authentifizierung immer nur für grafische Anmeldungen aktivieren. Die Anforderung wird übersprungen, wenn Sie sich an der Textaufforderung anmelden. Dies bedeutet, dass Sie problemlos zu einem virtuellen Terminal wechseln, sich dort anmelden und Ihre Änderungen rückgängig machen können, sodass Gogole Authenciator nicht erforderlich ist, wenn ein Problem auftritt.
Sicher, dies öffnet eine Lücke in Ihrem Authentifizierungssystem, aber ein Angreifer mit physischem Zugriff auf Ihr System kann dies bereits ausnutzen. Daher ist die Zwei-Faktor-Authentifizierung besonders für Remote-Anmeldungen über SSH effektiv.
So gehen Sie vor für Ubuntu, das den LightDM Login Manager verwendet. Öffnen Sie die LightDM-Datei zum Bearbeiten mit einem Befehl wie dem folgenden:
Sudo gedit /etc/pam.d/lightdm
(Beachten Sie, dass diese spezifischen Schritte nur funktionieren, wenn Ihre Linux-Distribution und Ihr Desktop den LightDM-Anmeldemanager verwenden.)
Fügen Sie am Ende der Datei die folgende Zeile hinzu und speichern Sie sie:
auth erforderlich pam_google_authenticator.so nullok
Das "nullok" -Bit am Ende weist das System an, einen Benutzer sich anmelden zu lassen, selbst wenn der Befehl google-authenticator nicht ausgeführt wurde, um die Zwei-Faktor-Authentifizierung einzurichten. Wenn sie es eingerichtet haben, müssen sie einen Zeitcode eingeben - sonst nicht. Entfernen Sie das "Nullok" und die Nutzerkonten, die noch keinen Google Authenticator-Code eingerichtet haben, können sich nicht grafisch anmelden.
Wenn sich ein Benutzer das nächste Mal grafisch anmeldet, wird er nach seinem Kennwort und anschließend nach dem auf dem Telefon angezeigten aktuellen Bestätigungscode gefragt. Wenn sie den Bestätigungscode nicht eingeben, dürfen sie sich nicht anmelden.
Der Prozess sollte für andere Linux-Distributionen und Desktops ziemlich ähnlich sein, da die meisten gängigen Linux-Desktop-Sitzungsmanager PAM verwenden. Sie müssen wahrscheinlich nur eine andere Datei mit einem ähnlichen Element bearbeiten, um das entsprechende PAM-Modul zu aktivieren.
Wenn Sie die Heimverzeichnis-Verschlüsselung verwenden
Ältere Versionen von Ubuntu boten eine einfache "Home Folder Encryption" -Option, die Ihr gesamtes Home-Verzeichnis verschlüsselt, bis Sie Ihr Passwort eingeben. Insbesondere verwendet dies Ecryptfs. Da die PAM-Software jedoch standardmäßig von einer in Ihrem Home-Verzeichnis gespeicherten Google Authenticator-Datei abhängt, stört die Verschlüsselung das Lesen der Datei durch das PAM, es sei denn, Sie stellen sicher, dass sie unverschlüsselt für das System verfügbar sind, bevor Sie sich anmelden. Weitere Informationen finden Sie in der README Informationen zur Vermeidung dieses Problems, wenn Sie weiterhin die veralteten Home-Verzeichnis-Verschlüsselungsoptionen verwenden.
Moderne Versionen von Ubuntu bieten stattdessen eine Verschlüsselung der gesamten Festplatte, die mit den oben genannten Optionen problemlos funktioniert. Sie müssen nichts Besonderes tun
Hilfe, es ist kaputt!
Da wir dies nur für grafische Anmeldungen aktiviert haben, sollte es leicht zu deaktivieren sein, wenn ein Problem auftritt. Drücken Sie eine Tastenkombination wie Strg + Alt + F2, um auf ein virtuelles Terminal zuzugreifen und sich dort mit Ihrem Benutzernamen und Kennwort anzumelden. Sie können dann einen Befehl wie sudo nano /etc/pam.d/lightdm verwenden, um die Datei zum Bearbeiten in einem Terminal-Texteditor zu öffnen. Verwenden Sie unseren Leitfaden für Nano, um die Zeile zu entfernen und die Datei zu speichern. Anschließend können Sie sich wieder normal anmelden.
Sie können Google Authenticator auch für andere Anmeldearten - möglicherweise sogar für alle Systemanmeldungen - zwingen, indem Sie die Zeile "auth required pam_google_authenticator.so" zu anderen PAM-Konfigurationsdateien hinzufügen. Seien Sie vorsichtig, wenn Sie dies tun. Denken Sie daran, dass Sie "nullok" hinzufügen möchten, damit sich Benutzer, die den Einrichtungsprozess noch nicht durchlaufen haben, weiterhin anmelden können.
Weitere Informationen zur Verwendung und Einrichtung dieses PAM-Moduls finden Sie in der README-Datei der Software auf GitHub.