So richten Sie die Zwei-Faktor-Authentifizierung für SSH unter Linux ein

Secure Shell oder SSH ist ein kryptografisches Netzwerkprotokoll, das den sicheren Zugriff auf Geräte über ein ungesichertes Netzwerk ermöglicht. Es findet seine Anwendungen in verschiedenen Anwendungsfällen, wie z. B. Remote-Anmeldung, Remote-Befehlszeilenzugriff und Remote-Befehlsausführung.

Wenn Sie SSH verwendet haben, wissen Sie bereits, dass ein Einzelfaktor-Authentifizierungsmechanismus verwendet wird, für den entweder ein SSH-Schlüssel oder ein Kennwort für die Authentifizierung erforderlich ist. Obwohl dies auf den ersten Blick nicht alarmierend erscheint, ist das System mehreren offenen Sicherheitslücken ausgesetzt.

Es wird daher häufig empfohlen, die Zwei-Faktor-Authentifizierung (2FA) für SSH zu aktivieren, um die Sicherheit zu erhöhen. In diesem Artikel werden wir die Zwei-Faktor-Authentifizierung im Detail erläutern sowie eine umfassende Anleitung zum Aktivieren von 2FA für SSH.

Was ist eine Zwei-Faktor-Authentifizierung?

Die Zwei-Faktor-Authentifizierung (2FA) ist eine Form des Multi-Faktor-Authentifizierungsmechanismus (MFA), bei dem zusätzlich zum ersten Faktor ein zweiter Authentifizierungsfaktor erforderlich ist, um Ihre Anmeldung zu authentifizieren und Ihr Konto vor unbefugtem Zugriff zu schützen.

Sie können sich 2FA als einen Bestätigungscode vorstellen, der entweder von einer Codegenerator-App oder einem Hardware-Token-Generator generiert wird und den Sie zum Zeitpunkt der Anmeldung nach Eingabe Ihres Kennworts angeben müssen, um auf Ihr Konto zuzugreifen.

Wenn Sie sich bei einem Onlinedienst für ein Konto anmelden, erstellen Sie ein Kennwort, um es zu sichern. Dieses Kennwort fungiert als Ihr erster Authentifizierungsfaktor und wird vom Dienst benötigt, um Sie bei jeder Anmeldung bei Ihrem Konto zu authentifizieren.

Warum sollten Sie 2FA für SSH aktivieren?

SSH authentifiziert Sie standardmäßig entweder mit einem öffentlichen Schlüssel oder einem Kennwort, bevor eine Verbindung zwischen Ihnen und dem anderen Gerät / Server hergestellt wird.

Im Allgemeinen funktioniert diese Konfiguration absolut einwandfrei, und in den meisten Fällen können Sie damit durchkommen. In Zeiten, in denen Sie eine Verbindung zu einem Gerät / Server herstellen, auf dem vertrauliche oder persönliche Informationen über SSH gespeichert sind, benötigen Sie jedoch eine zusätzliche Schutzschicht auf diesem System.

Eine Möglichkeit, dies zu tun, besteht darin, die Zwei-Faktor-Authentifizierung auf dem Server / Host-Computer zu aktivieren, wodurch der Zugriff über SSH geschützt wird und ein zweiter Authentifizierungsfaktor für die Authentifizierung der Client-Anmeldung erforderlich ist.

Selbst wenn es jemandem gelingt, das Kennwort des Clients / Hosts zu erhalten, kann er daher nicht über SSH auf das System zugreifen, es sei denn, er gibt auch den 2FA-Code an.

Verwandte Themen : So richten Sie SSH unter Linux ein und testen Ihr Setup

So richten Sie 2FA für SSH unter Linux ein

Das Starten von 2FA für SSH unter Linux umfasst eine Reihe von Schritten. Hier finden Sie eine Aufschlüsselung der einzelnen Schritte, um Sie durch den Prozess zu führen.

Voraussetzungen

Es versteht sich von selbst, dass auf dem System, auf dem Sie 2FA aktivieren möchten, ein SSH-Serverprogramm installiert sein muss. Um dies zu überprüfen, öffnen Sie das Terminal und geben Sie Folgendes ein:

 ssh -V

Wenn Sie einen SSH-Server installiert haben, fahren Sie mit dem nächsten Schritt fort. Wenn nicht, geben Sie den folgenden Befehl ein, um es zu installieren:

 sudo apt install openssh-server

Überprüfen Sie nach Abschluss der Installation, ob SSH auf dem System aktiviert ist. Geben Sie dazu Folgendes ein:

 sudo systemctl status ssh

Wenn Ihr Status Aktiv: Aktiv ( Wird ausgeführt) widerspiegelt, können Sie fortfahren. Falls dies jedoch anders angezeigt wird, geben Sie den folgenden Befehl ein:

 sudo systemctl enable ssh

In einigen Fällen kann die Firewall-Konfiguration SSH stören, und Sie müssen möglicherweise den unten angegebenen Befehl ausführen, um den SSH-Server auf Ihrem System zu aktivieren.

 sudo ufw allow ssh

Schritt 1: Installieren von Google Authenticator PAM

Wenn der OpenSSH-Server auf Ihrem Host-Computer ausgeführt wird, müssen Sie zunächst ein Plugamable Authentication Module (PAM) installieren, das die erforderliche Infrastruktur für die Integration der Multi-Faktor-Authentifizierung für SSH unter Linux bietet.

Google Authenticator PAM ist in dieser Hinsicht die beliebteste Wahl, da es einfacher zu implementieren und zu verwenden ist als einige der anderen Authentifizierungsmodule. Es bietet die erforderliche Infrastruktur, um Benutzer mithilfe von TOTP-Codes (Time-based One-Time Password) zu authentifizieren, und verfügt über Codegenerator-Apps für Android und iOS.

Öffnen Sie zum Installieren von Google Authenticator PAM ein Terminalfenster und führen Sie den folgenden Befehl aus:

 sudo apt install libpam-google-authenticator

Geben Sie an der Installationsaufforderung y ein , um den Vorgang zu bestätigen.

Schritt 2: Konfigurieren von SSH

Nachdem Google Authenticator PAM jetzt auf Ihrem System installiert ist, ist es an der Zeit, dass SSH dieses Modul zur Authentifizierung verwendet. Dazu müssen Sie einige Konfigurationsdateien bearbeiten.

Wir empfehlen, eine Sicherungskopie dieser Dateien zu erstellen, um Probleme zu vermeiden, wenn während des Vorgangs ein Fehler auftritt. Fahren Sie anschließend mit den folgenden Schritten fort:

  1. Öffnen Sie die PAM-Konfigurationsdatei mit nano . Sie können auch einen anderen Linux-Texteditor verwenden .
     sudo nano /etc/pam.d/sshd
  2. Fügen Sie der Datei die folgende Zeile hinzu.
     auth required pam_google_authenticator.so
  3. Speichern und beenden Sie das Dateibearbeitungsfenster.
  4. Starten Sie den sshd- Dienst mit systemctl neu.
     sudo systemctl restart sshd.service

Bearbeiten Sie als Nächstes die SSH-Konfigurationsdatei, die für die SSH-Konfiguration verantwortlich ist.

  1. Öffnen Sie die Datei mit Nano.
     sudo nano /etc/ssh/sshd_config
  2. Suchen Sie in dieser Datei die Zeile ChallengeResonseAuthentication no und ändern Sie ihren Status von " no " in " yes ". Dadurch wird SSH angewiesen, bei jedem Versuch, sich beim System anzumelden, nach einem Authentifizierungscode zu fragen.
  3. Speichern Sie die Datei und starten Sie den SSH-Daemon neu.
     sudo systemctl restart sshd.service

Schritt 3: Konfigurieren von Authenticator unter Linux

Nachdem Sie SSH installiert und konfiguriert haben, müssen Sie Google Authenticator so konfigurieren, dass TOTP-Codes generiert werden.

Öffnen Sie dazu das Terminal und starten Sie Google Authenticator mit folgendem Befehl:

 google-authenticator

Google Authenticator stellt Ihnen nun eine Reihe von Fragen. Beantworten Sie diese Fragen entweder mit Ja ( y ) oder Nein ( n ). Bei den meisten Fragen lautet die Standardantwort " Ja", es sei denn, Sie wählen eine nicht standardmäßige Option aus.

Hier ist eine Liste von Fragen in verkürzter Form, die Ihnen die App stellen wird:

  • Machen Sie Authentifizierungstoken zeitbasiert (j / n): y
  • Aktualisieren Sie Ihre Datei " ~ / .google_authenticator " ( j / n): y
  • Mehrfachverwendung desselben Authentifizierungstokens nicht zulassen?: Y
  • Erhöhen Sie die Häufigkeit der Codegenerierung (j / n): n
  • Ratenbegrenzung aktivieren (j / n): y

Schritt 4: Konfigurieren des Authenticators am Telefon

Sobald Sie die erste Frage zur Google-Authentifizierung mit "Ja" beantworten, generiert Google PAM einen QR-Code auf Ihrem Bildschirm sowie einen geheimen Schlüssel und einige Wiederherstellungscodes. Führen Sie die folgenden Schritte aus, um Google Authenticator auf Ihrem Telefon zu registrieren.

Zunächst müssen Sie jedoch die Google Authenticator-App auf Ihr Smartphone herunterladen.

Herunterladen: Google Authenticator für Android | iOS (kostenlos)

  1. Klicken Sie auf das Plus – Zeichen (+) und wählen Sie Scannen eines Codes aus den Menüoptionen.
  2. Zeigen Sie mit der Kamera Ihres Geräts auf den QR-Code auf Ihrem Computerbildschirm, um automatisch einen Eintrag in der App zu erstellen.
  3. Alternativ können Sie im Plus- Menü (+) die Option Setup-Taste eingeben auswählen und die erforderlichen Einträge eingeben. Geben Sie dazu zunächst Ihrem Namen einen Namen – er sollte leicht zu erkennen sein – und geben Sie dann den geheimen Schlüssel ein, der unter dem QR-Code auf Ihrem Bildschirm angezeigt wird.
  4. Tippen Sie abschließend auf Hinzufügen , um den Eintrag zu speichern.

Kopieren Sie vorsorglich alle unter dem QR-Code angezeigten Wiederherstellungscodes und speichern Sie sie an einem sicheren Ort. Sie benötigen sie möglicherweise, wenn Sie auf Ihrem Telefon nicht auf Google Authenticator zugreifen können oder den Zugriff verlieren.

Verwandte Themen: So wechseln Sie den Google Authenticator zu einem neuen Telefon

Sichern des SSH-Zugriffs unter Linux mit 2FA

Wenn Sie die obigen Anweisungen korrekt befolgt haben, sollte auf Ihrem Linux-System die Zwei-Faktor-Authentifizierung für SSH aktiviert sein.

Jedes Mal, wenn Sie über SSH auf diesen Server / dieses Gerät zugreifen möchten, müssen Sie zuerst das SSH-Kennwort (erster Faktor) und anschließend den TOTP-Code (zweiter Faktor) in der Google Authenticator-App eingeben, um Ihre zu authentifizieren Anmeldung. Dies ist eine großartige Möglichkeit, Ihre Remote-SSH-Anmeldungen vor Eindringlingen im Internet zu verwalten und zu schützen.