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 auf einem Ubuntu-Server mit Google Authenticator und SSH einrichten.
Schritt 1: Voraussetzungen
	- Ein Ubuntu 14.04 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-basierte Anmeldungen unterstützt.
Schritt 2: Installieren der Google Authenticator Library
Wir müssen das für Ubuntu verfügbare Google Authenticator Library-Modul installieren, mit dem der Server Codes lesen und validieren kann. Führen Sie die folgenden Befehle aus.
sudo apt-get update
sudo apt-get install libpam-google-authenticator
Führen Sie zum Konfigurieren des Moduls einfach den folgenden Befehl aus.
google-authenticator
Sobald Sie den Befehl ausführen, werden Ihnen bestimmte Fragen gestellt. Die erste Frage wäre:
Do 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 zu verbieten, das nZeitfenster zu vergrößern und ydie Ratenbegrenzung zu aktivieren.
Sie müssen Schritt 3 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
Finde die Zeile @include common-authund kommentiere sie wie unten.
# 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 + Xzum Speichern und 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 durch Drücken von 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 Authentifizierung mit mehreren Faktoren verbessert die Sicherheit Ihres Servers erheblich und ermöglicht es Ihnen, häufige Brute-Force-Angriffe zu verhindern.
Andere Versionen