So richten Sie die Zwei-Faktor-Authentifizierung für SSH unter Fedora ein
Jeden Tag scheinen zahlreiche Sicherheitsverstöße gemeldet zu werden, bei denen unsere Daten gefährdet sind. Trotz der Tatsache, dass SSH eine sichere Möglichkeit ist, aus der Ferne eine Verbindung zu einem Linux-System herzustellen, kann ein unbekannter Benutzer dennoch Zugriff auf Ihren Linux-Computer erhalten, wenn er Ihre SSH-Schlüssel stiehlt, selbst wenn Sie Passwörter deaktivieren oder nur SSH-Verbindungen zulassen öffentliche und private Schlüssel.
In diesem Artikel erklären wir, wie man die Zwei-Faktor-Authentifizierung (2FA) für SSH auf der Linux-Distribution Fedora mit Google Authenticator für den Zugriff einrichtet Sie können ein Remote-Linux-System sicherer nutzen, indem Sie eine TOTP-Nummer (das zeitbasierte Einmalpasswort) bereitstellen, die zufällig von einer Authentifizierungsanwendung auf einem mobilen Gerät generiert wird.
Lesen Sie auch: So richten Sie die Zwei-Faktor-Authentifizierung für SSH-Anmeldungen in CentOS und Debian ein
Beachten Sie, dass Sie für Ihr Mobilgerät jede bidirektionale Authentifizierungsanwendung verwenden können, die mit dem TOTP-Algorithmus kompatibel ist. Es gibt zahlreiche kostenlose Apps für Android oder IOS, die TOTP und Google Authenticator unterstützen. In diesem Artikel wird jedoch Google Authenticator als Beispiel verwendet.
Google Authenticator auf Fedora installieren
Installieren Sie zunächst die Anwendung Google Authenticator auf Ihrem Fedora-Server mit dem folgenden dnf-Befehl.
sudo dnf install -y google-authenticator
Sobald Google Authenticator installiert ist, können Sie die Anwendung jetzt ausführen.
google-authenticator
Die Bewerbung wirft Ihnen eine Reihe von Fragen auf. Die folgenden Snippets zeigen Ihnen, wie Sie für eine einigermaßen sichere Einrichtung sorgen können.
Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y
Die Anwendung stellt Ihnen einen geheimen Schlüssel, einen Bestätigungscode und Wiederherstellungscodes zur Verfügung. Bewahren Sie diese Schlüssel an einem sicheren Ort auf, da diese Schlüssel die einzige Möglichkeit sind, auf Ihren Server zuzugreifen, wenn Sie Ihr Mobilgerät verlieren.
Einrichten der Mobiltelefonauthentifizierung
Gehen Sie auf Ihrem Mobiltelefon zum App Store Google Play oder iTunes, suchen Sie nach Google Authenticator und installieren Sie die Anwendung.
Öffnen Sie nun die Anwendung Google Authenticator auf Ihrem Mobiltelefon und scannen Sie den QR-Code, der auf dem Fedora-Terminalbildschirm angezeigt wird. Sobald der QR-Code-Scan abgeschlossen ist, erhalten Sie von der Authentifizierungsanwendung eine zufällig generierte Nummer und verwenden diese Nummer jedes Mal, wenn Sie sich remote mit Ihrem Fedora-Server verbinden.
Beenden Sie die Google Authenticator-Konfiguration
Die Anwendung Google Authenticator wirft weitere Fragen auf und das folgende Beispiel zeigt, wie diese zum Einrichten einer sicheren Konfiguration beantwortet werden.
Jetzt müssen Sie SSH für die Verwendung der neuen bidirektionalen Authentifizierung konfigurieren, wie unten erläutert.
Konfigurieren Sie SSH für die Verwendung von Google Authenticator
Um SSH für die Verwendung der Authenticator-Anwendung zu konfigurieren, benötigen Sie zunächst eine funktionierende SSH-Verbindung mit öffentlichen SSH-Schlüsseln, da wir Passwortverbindungen deaktivieren werden.
Öffnen Sie die Datei /etc/pam.d/sshd auf Ihrem Server.
sudo vi /etc/pam.d/sshd
Kommentieren Sie die Zeile auth substack password-auth
in der Datei aus.
#auth substack password-auth
Platzieren Sie als Nächstes die folgende Zeile am Ende der Datei.
auth sufficient pam_google_authenticator.so
Speichern und schließen Sie die Datei.
Öffnen und bearbeiten Sie als Nächstes die Datei /etc/ssh/sshd_config.
sudo vi /etc/ssh/sshd_config
Suchen Sie nach der Zeile ChallengeResponseAuthentication
und ändern Sie sie in yes
.
ChallengeResponseAuthentication yes
Suchen Sie nach der Zeile PasswordAuthentication
und ändern Sie sie in no
.
PasswordAuthentication no
Platzieren Sie als Nächstes die folgende Zeile am Ende der Datei.
AuthenticationMethods publickey,password publickey,keyboard-interactive
Speichern und schließen Sie die Datei und starten Sie dann SSH neu.
sudo systemctl restart sshd
Testen der Zwei-Faktor-Authentifizierung auf Fedora
Versuchen Sie nun, eine Remote-Verbindung zu Ihrem Server herzustellen. Sie werden aufgefordert, einen Bestätigungscode einzugeben.
ssh [email
Verification code:
Der Bestätigungscode wird von Ihrer Authentifizierungsanwendung zufällig auf Ihrem Mobiltelefon generiert. Da sich der generierte Code alle paar Sekunden ändert, müssen Sie ihn schnell eingeben, bevor ein neuer Code erstellt wird.
Wenn Sie den falschen Bestätigungscode eingeben, können Sie keine Verbindung zum System herstellen und erhalten die folgende Fehlermeldung: „Berechtigung verweigert“.
ssh [email
Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).
Abschluss
Durch die Implementierung dieser einfachen Zwei-Wege-Authentifizierung haben Sie Ihrem System eine zusätzliche Sicherheitsebene hinzugefügt und es wird darüber hinaus für einen unbekannten Benutzer schwieriger, Zugriff auf Ihren Server zu erhalten.