Wie richte ich in Ubuntu eine Zwei-Faktor-Authentifizierung für Ubuntu-Benutzer mit dem Google-Authentifikator ein?


Antworten:


16

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.

  1. 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
    
  2. Bearbeiten Sie nun /etc/pam.d/sshddiese 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
    
  3. Hier müssen wir Änderungen vornehmen, /etc/ssh/sshd_configum 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 ChallengeResponseAuthenticationund 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_secureund speichern Sie die Datei.

  4. 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
    
  5. Jetzt verwenden wir den folgenden Befehl, um die Zwei-Faktor-Authentifizierung dafür einzurichten testuser1:

    google-authenticator
    
  6. 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?

  7. Danach werden Ihnen der QR-Code und die Notfall-Kratzcodes sowie einige andere Details angezeigt. Die Ausgabe sollte wie folgt aussehen:

    Geben Sie hier die Bildbeschreibung ein

  8. 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.

    Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

  9. 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.

  10. 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.

  11. 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?

  12. 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

  13. 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

  14. 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?

  15. Wechseln Sie nun von diesem Konto beenden, um zum Root-Konto zurückzukehren:

    exit
    
  16. 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.

Geben Sie hier die Bildbeschreibung ein

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.


Wenn ich es deinstalliere, hinterlässt es jedes Mal ein Problem, wenn ich einen Befehl mit sudo: sudo: PAM-Authentifizierungsfehler
ausführe

@bagustris Sie müssen die Datei "/etc/pam.d/common-auth" bearbeiten und "auth required pam_google_authenticator.so" aus diesem Eintrag entfernen. Nachdem Sie es deinstalliert haben.
Hrish

Um /etc/pam.d/common-auth zu bearbeiten, benötigt es sudo. Da sudo nicht mehr funktioniert, benötige ich ein Live-Betriebssystem (oder in meinem Fall, weil ich mit Mac OS dual boote, kann ich es unter OS X mit beschreibbarem Berechtigungssatz bearbeiten).
Bagustris

1
@bagustris Sie können dies tun, indem Sie in den Wiederherstellungsmodus wechseln.
Hrish

1
Es wäre sicherer, den Zugang zur Maschine nicht zu verlieren, wenn wir in Schritt 2 auth optionalstattdessen verwenden auth required. Andernfalls ist eine Anmeldung nicht mehr möglich, wenn die Sitzung abstürzt und der Vorgang nicht abgeschlossen ist.
Pascal
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.