Website-Suche

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.