Wie richte ich in Ubuntu eine Zwei-Faktor-Authentifizierung für Ubuntu-Benutzer mit dem Google-Authentifikator ein (kann auch für Nicht-Google-Konten eingerichtet werden)?
Wie richte ich in Ubuntu eine Zwei-Faktor-Authentifizierung für Ubuntu-Benutzer mit dem Google-Authentifikator ein (kann auch für Nicht-Google-Konten eingerichtet werden)?
Hinweis: Sobald Sie die 2-Faktor-Authentifizierung für einen Benutzer aktiviert und nicht für root festgelegt haben, können Sie sich nie mehr direkt als root anmelden. In einem solchen Fall können Sie einen anderen Sudo-Benutzer verwenden, für den wir ihn eingerichtet haben, und dann sudo su -
zum Root-Benutzer wechseln.
Führen Sie die folgenden Schritte aus, um es einzurichten.
Installieren Sie das unten angegebene Paket, um den Google-Authentifikator zu installieren, den wir als Add-On für die PAM-Authentifizierung verwenden:
sudo apt-get install libpam-google-authenticator
Bearbeiten Sie nun /etc/pam.d/sshd
diese Datei und fügen Sie Google Authenticator wie folgt hinzu:
*sudo vim /etc/pam.d/sshd
Geben Sie unten oben diese Datei ein.
auth required pam_google_authenticator.so
Hier müssen wir Änderungen vornehmen, /etc/ssh/sshd_config
um sicherzustellen, dass ssh den Google Authenticator verwendet. Auf diese Weise stellen wir sicher, dass ssh die Zwei-Faktor-Authentifizierung verwendet.
vim /etc/ssh/sshd_config
In dieser Datei müssen wir sie finden ChallengeResponseAuthentication
und auskommentieren und / oder so ändern, dass sie wie folgt aussieht (kurz gesagt: Ja: P):
ChallengeResponseAuthentication yes
Zusätzliche oder GUI 2-Faktor-Authentifizierung, überspringen Sie diese und fahren Sie mit Schritt 4 fort: Bearbeiten Sie Folgendes, um sie für die GUI-Anmeldung zu aktivieren /etc/pam.d/common-auth
:
sudo vim /etc/pam.d/common-auth
Fügen Sie dies nun auth required pam_google_authenticator.so
über der Zeile hinzu auth [success=1 default=ignore] pam_unix.so nullok_secure
und speichern Sie die Datei.
Wechseln Sie nun zu einem Konto, für das Sie es einrichten möchten.
( Hinweis: Ich würde empfehlen, neben dem Root-Konto mindestens zwei Superuser-Konten auf dem System zu erstellen und diese mindestens für eines zu konfigurieren, jedoch nicht für das Root-Konto.)
sudo su - testuser1
Jetzt verwenden wir den folgenden Befehl, um die Zwei-Faktor-Authentifizierung dafür einzurichten testuser1
:
google-authenticator
Wenn Sie diesen Befehl ausführen, werden Sie die folgende Frage stellen. (empfohlene Antwort ist Ja)
Möchten Sie, dass Authentifizierungstoken zeitbasiert (j / n) y sind?
Danach werden Ihnen der QR-Code und die Notfall-Kratzcodes sowie einige andere Details angezeigt. Die Ausgabe sollte wie folgt aussehen:
Jetzt müssen Sie Ihr Android / Apple / Blackberry-Telefon verwenden, um die Google Authenticator- Anwendung von den jeweiligen Marktplätzen herunterzuladen und zu installieren, beispielsweise vom Google Play Store. Dadurch wird Code generiert, mit dem Sie sich anmelden können.
Unten sehen Sie den Screenshot des Anwendungssymbols und der Anwendung, die vom Android-Telefon der Anwendung stammen.
Starten Sie die Anwendung auf Ihrem Telefon und scannen Sie den QR-Code oder verwenden Sie den geheimen Schlüssel und den Bestätigungscode, der unter dem QR-Code des Systems angegeben ist. Dies sehen Sie auch im ersten Screenshot oben.
Sobald dies alles erledigt ist, ist es sehr wichtig , dass Sie Ihre Notfall-Scratch-Codes an einem sicheren Ort notieren und speichern , da dies die Codes sind, die Ihnen helfen können, falls Sie irgendwie ausgesperrt werden.
Zu diesem Zeitpunkt sollten Sie einen Blick auf den unteren Bildschirmrand werfen, wo Ihnen eine der folgenden Fragen gestellt wird. (empfohlene Antwort ist Ja):
Soll ich Ihre Datei "/home/testuser1/.google_authenticator" (j / n) y aktualisieren?
Wieder wird es Ihnen eine weitere Frage stellen und die empfohlene Antwort für die folgende Frage lautet ebenfalls Ja:
Möchten Sie mehrere Verwendungen desselben Authentifizierungstokens nicht zulassen? Dies beschränkt Sie auf einen Login etwa alle 30 Sekunden, erhöht jedoch Ihre Chancen, Man-in-the-Middle-Angriffe (j / n) zu bemerken oder sogar zu verhindern
Die nächste Frage lautet wie folgt und die empfohlene Antwort lautet Nein:
Standardmäßig sind Token 30 Sekunden lang gültig. Um mögliche Zeitverzerrungen zwischen Client und Server auszugleichen, lassen wir vor und nach der aktuellen Zeit ein zusätzliches Token zu. Wenn Sie Probleme mit einer schlechten Zeitsynchronisation haben, können Sie das Fenster von seiner Standardgröße von 1: 30 Minuten auf etwa 4 Minuten erhöhen. Möchten Sie dies tun (j / n) n
Die letzte Frage lautet wie folgt und die empfohlene Antwort lautet Ja:
Wenn der Computer, an dem Sie sich anmelden, nicht gegen Brute-Force-Anmeldeversuche abgesichert ist, können Sie die Ratenbegrenzung für das Authentifizierungsmodul aktivieren. Standardmäßig sind Angreifer auf maximal 3 Anmeldeversuche alle 30 Sekunden beschränkt. Möchten Sie die Ratenbegrenzung (j / n) y aktivieren?
Wechseln Sie nun von diesem Konto beenden, um zum Root-Konto zurückzukehren:
exit
Starten Sie nun den SSH-Dienst neu
service ssh restart
Nehmen Sie jetzt einfach an einer SSH-Sitzung für den Benutzer teil, für den Sie sie eingerichtet haben, und Sie werden zunächst nach einem Bestätigungscode gefragt, den Sie von Ihrem Mobiltelefon aus eingeben können. Anschließend werden Sie nach einem Benutzerkennwort gefragt.
Dies ist alles, was zum Einrichten der Zwei-Faktor-Authentifizierung erforderlich ist. Bitte zögern Sie nicht, die Antwort bei Bedarf zu verbessern, und entschuldigen Sie mich für die nicht so gute Sprache.
auth optional
stattdessen verwendenauth required
. Andernfalls ist eine Anmeldung nicht mehr möglich, wenn die Sitzung abstürzt und der Vorgang nicht abgeschlossen ist.