Dieses Tutorial zeigt Ihnen, wie Sie die SSH-Zwei-Faktor-Authentifizierung einrichten auf Ubuntu 16.04-Server mit dem bekannten Google Authenticator. Sobald Sie es eingerichtet haben, wird die Sicherheit Ihres SSH-Servers enorm erhöht.
Funktionsweise von Google Authenticator
Bei der Zwei-Faktor-Authentifizierung, auch bekannt als zweistufige Verifizierung, müssen Sie zwei Informationen eingeben, um sich anzumelden. Google Authenticator generiert ein Einmalpasswort mit einem gemeinsamen geheimen Schlüssel und der aktuellen Uhrzeit. Sie müssen nicht nur den richtigen Benutzernamen und das richtige Passwort angeben, sondern auch ein von Google Authenticator generiertes Einmalpasswort eingeben, um sich bei Ihrem SSH-Server anzumelden.
Schritt 1:Google Authenticator auf Ubuntu 16.04 Server installieren und konfigurieren
Melden Sie sich bei Ihrem Ubuntu-Server an und führen Sie den folgenden Befehl aus, um Google Authenticator aus dem standardmäßigen Ubuntu-Paket-Repository zu installieren.
sudo apt install libpam-google-authenticator
Führen Sie dann den google-authenticator
aus Befehl zum Erstellen eines neuen geheimen Schlüssels in Ihrem Home-Verzeichnis.
google-authenticator
Auf die Frage „Möchten Sie, dass Authentifizierungstoken zeitbasiert sind?“ Antworten Sie mit y . Dann wird Ihnen ein QR-Code angezeigt, den Sie mit dem Google Authenticator scannen können mobile App.
Installieren Sie die Google Authenticator-App über Google Play oder den Apple App Store auf Ihrem Mobiltelefon und scannen Sie den QR-Code. Der QR-Code stellt den geheimen Schlüssel dar, der nur Ihrem SSH-Server und Ihrer Google Authenticator-App bekannt ist. Sobald der QR-Code gescannt wurde, können Sie ein sechsstelliges Einmalpasswort auf Ihrem Telefon sehen. Standardmäßig dauert es 30 Sekunden.
Sie können den geheimen Schlüssel, den Verifizierungscode und den Notfall-Rubbelcode im Terminalfenster sehen. Es wird empfohlen, diese Informationen zur späteren Verwendung an einem sicheren Ort zu speichern.
Dann können Sie y eingeben um alle verbleibenden Fragen zu beantworten. Dadurch wird Ihre Google Authenticator-Konfigurationsdatei aktualisiert, die mehrfache Verwendung desselben Authentifizierungstokens deaktiviert, das Zeitfenster vergrößert und die Ratenbegrenzung zum Schutz vor Brute-Force-Anmeldeversuchen aktiviert.
Schritt 2:SSH-Daemon für die Verwendung von Google Authenticator konfigurieren
Öffnen Sie die Konfigurationsdatei des SSH-Servers.
sudo nano /etc/ssh/sshd_config
PAM steht für Pluggable Authentication Module. Es bietet eine einfache Möglichkeit, verschiedene Authentifizierungsmethoden in Ihr Linux-System einzubinden. Um Google Authenticator mit SSH zu aktivieren, müssen PAM und Challenge-Response-Authentifizierung aktiviert sein. Suchen Sie also die folgenden zwei Zeilen in der Datei und vergewissern Sie sich, dass beide auf yes gesetzt sind .
UsePAM yes ChallengeResponseAuthentication yes
Speichern und schließen Sie die Datei. Starten Sie dann den SSH-Daemon neu.
sudo systemctl restart ssh
Bearbeiten Sie als Nächstes die PAM-Regeldatei für den SSH-Daemon.
sudo nano /etc/pam.d/sshd
Fügen Sie den folgenden Eintrag am Ende der Datei hinzu.
auth required pam_google_authenticator.so
Speichern und schließen Sie die Datei. Von nun an verwendet der SSH-Daemon Google Authenticator.
Schritt 3:Testen Sie Ihre SSH-Zwei-Faktor-Authentifizierung
Öffnen Sie nun ein separates Terminalfenster und versuchen Sie, sich bei Ihrem SSH-Server anzumelden. Schließen Sie nicht Ihre aktuelle SSH-Sitzung. Wenn etwas schief geht, können Sie es in Ihrer aktuellen SSH-Sitzung beheben. Wenn alles richtig eingerichtet ist, werden Sie aufgefordert, sowohl Ihr Benutzerpasswort als auch das einmalige Passwort einzugeben.
Beachten Sie auch, dass jeder Benutzer auf Ihrem Ubuntu 16.04-Server google-authenticator
ausführen muss Befehl eingeben und den QR-Code scannen, um die Zwei-Faktor-Authentifizierung zu verwenden.
Notfall-Scratch-Code
Emergency Scratch Code ist Ihr Ersatzcode. Wenn Sie Ihr Telefon verlieren, können Sie anstelle eines Einmalpassworts einen von fünf Notfall-Rubbelcodes eingeben, um die zweistufige Verifizierung abzuschließen. Beachten Sie, dass diese Codes nur zur einmaligen Verwendung bestimmt sind.
Ein zweites Telefon verwenden
Wenn Sie ein zweites Telefon haben, können Sie die Google Authenticator-App auf Ihrem zweiten Telefon installieren und den geheimen Schlüssel manuell eingeben. Dies ist dasselbe wie das Scannen eines QR-Codes.
Wenn Sie den geheimen Schlüssel ändern möchten, melden Sie sich einfach bei Ihrem Server an und führen Sie google-authenticator
aus Befehl erneut, um den ~/.google_authenticator
zu aktualisieren Datei.
Zeitsynchronisierung
Da das einmalige Passwort anhand des gemeinsamen geheimen Schlüssels und der aktuellen Uhrzeit berechnet wird, empfiehlt es sich, die NTP-Zeitsynchronisierung auf Ihrem Ubuntu 16.04-Server zu aktivieren.
Ich hoffe, dieses Tutorial hat Ihnen geholfen, die SSH-Zwei-Faktor-Authentifizierung auf dem Ubuntu 16.04-Server einzurichten. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter.