Es gibt verschiedene Möglichkeiten, sich über SSH bei einem Server anzumelden. Zu den Methoden gehören die Kennwortanmeldung, die schlüsselbasierte Anmeldung und die Zwei-Faktor-Authentifizierung.
Die Zwei-Faktor-Authentifizierung ist eine viel bessere Art des Schutzes. Für den Fall, dass Ihr Computer kompromittiert wird, benötigt der Angreifer weiterhin einen Zugangscode, um sich anzumelden.
In diesem Tutorial erfahren Sie, wie Sie die Zwei-Faktor-Authentifizierung unter Debian 9 mit Google Authenticator und SSH einrichten.
Voraussetzungen
- Ein Debian 9-Server (oder neuer).
- Ein Nicht-Root-Benutzer mit Sudo-Zugriff.
- Ein Smartphone (Android oder iOS) mit installierter Google Authenticator App. Sie können auch Authy oder eine andere App verwenden, die TOTP-Anmeldungen (Time-based One-Time Password) unterstützt.
Schritt 1: Installieren der Google Authenticator Library
Wir müssen das für Debian verfügbare Google Authenticator Library-Modul installieren, mit dem der Server Codes lesen und validieren kann.
sudo apt update
sudo apt install libpam-google-authenticator -y
Konfigurieren Sie das Modul.
google-authenticator
Sobald Sie den Befehl ausführen, werden Ihnen bestimmte Fragen gestellt. Die erste Frage wird seinDo you want authentication tokens to be time-based (y/n)
Drücken YSie und Sie erhalten einen QR-Code, einen geheimen Schlüssel, einen Bestätigungscode und Notfall-Backup-Codes.
Nehmen Sie Ihr Telefon heraus und öffnen Sie die Google Authenticator-App. Sie können entweder den QR-Code scannen oder den geheimen Schlüssel hinzufügen, um einen neuen Eintrag hinzuzufügen. Notieren Sie sich anschließend die Sicherungscodes und bewahren Sie sie irgendwo auf. Falls Ihr Telefon verlegt oder beschädigt wird, können Sie sich mit diesen Codes anmelden.
Drücken Sie Ybei den verbleibenden Fragen, wenn Sie aufgefordert werden, die .google_authenticatorDatei zu aktualisieren Y, mehrere Verwendungen desselben Tokens nicht zuzulassen, Ndas Zeitfenster Yzu vergrößern und die Ratenbegrenzung zu aktivieren.
Sie müssen diesen Schritt für alle Benutzer auf Ihrem Computer wiederholen, da sie sich sonst nicht anmelden können, wenn Sie mit diesem Lernprogramm fertig sind.
Nachdem alle Benutzer auf Ihrem Computer ihre Google-Authentifizierungs-App eingerichtet haben, ist es an der Zeit, den SSH so zu konfigurieren, dass diese Authentifizierungsmethode gegenüber der aktuellen verwendet wird.
Geben Sie den folgenden Befehl ein, um die sshdDatei zu bearbeiten .
sudo nano /etc/pam.d/sshd
Finden Sie die Zeile @include common-authund kommentieren Sie sie aus, wie unten gezeigt.
# Standard Un*x authentication.
#@include common-auth
Fügen Sie die folgende Zeile am Ende dieser Datei hinzu.
auth required pam_google_authenticator.so
Drücken Sie CTRL+ X, um zu speichern und zu beenden.
Geben Sie als Nächstes den folgenden Befehl ein, um die sshd_configDatei zu bearbeiten .
sudo nano /etc/ssh/sshd_config
Suchen Sie den Begriff ChallengeResponseAuthenticationund setzen Sie seinen Wert auf yes. Suchen Sie auch den Begriff PasswordAuthentication, kommentieren Sie ihn aus und ändern Sie seinen Wert in no.
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
Der nächste Schritt besteht darin, die folgende Zeile am Ende der Datei hinzuzufügen.
AuthenticationMethods publickey,keyboard-interactive
Speichern und schließen Sie die Datei mit CTRL+ X. Nachdem wir den SSH-Server für die Verwendung des Google Authenticator konfiguriert haben, ist es an der Zeit, ihn neu zu starten.
sudo service ssh restart
Versuchen Sie, sich wieder beim Server anzumelden. Dieses Mal werden Sie nach Ihrem Authenticator-Code gefragt.
ssh user@serverip
Authenticated with partial success.
Verification code:
Geben Sie den Code ein, den Ihre App generiert, und Sie werden erfolgreich angemeldet.
Hinweis
Wenn Sie Ihr Telefon verlieren, verwenden Sie die Sicherungscodes aus Schritt 2. Wenn Sie Ihre Sicherungscodes verloren haben, finden Sie diese .google_authenticatornach dem Anmelden über die Vultr-Konsole immer in der Datei im Benutzerverzeichnis.
Fazit
Die Zwei-Faktor-Authentifizierung verbessert die Sicherheit Ihres Servers erheblich und ermöglicht es Ihnen, häufige Brute-Force-Angriffe zu verhindern.