Einführung
In dieser Herausforderung werden Sie die schlüsselbasierte Authentifizierung für SSH konfigurieren, die eine sicherere Alternative zur herkömmlichen Anmeldung mit Passwort darstellt. Sie werden ein öffentlich-privates Schlüsselpaar generieren, den öffentlichen Schlüssel auf dem Server autorisieren und den SSH-Dienst so konfigurieren, dass Verbindungen mittels Schlüssel zulässig sind. Dies ermöglicht Ihnen die Anmeldung am SSH-Server ohne Passworteingabe, was sowohl die Sicherheit als auch den Komfort erhöht.
Öffentlich-privates Schlüsselpaar generieren
Der erste Schritt besteht darin, ein kryptografisches Schlüsselpaar zu erstellen. Dieses Paar besteht aus einem privaten Schlüssel, den Sie unbedingt geheim halten müssen, und einem öffentlichen Schlüssel, den Sie auf dem Server hinterlegen, um den Zugriff zu autorisieren.
Aufgaben
- Generieren Sie ein neues RSA-Schlüsselpaar mit dem Befehl
ssh-keygen.
Anforderungen
- Wechseln Sie zum Benutzerkonto
testuser, bevor Sie das Schlüsselpaar erstellen. - Führen Sie die Generierung als Benutzer
testuseraus. - Verwenden Sie den Standard-Speicherort, wenn Sie dazu aufgefordert werden (
/home/testuser/.ssh/id_rsa). - Legen Sie keine Passphrase für den privaten Schlüssel fest (drücken Sie einfach die Eingabetaste bei der Abfrage).
Erste Schritte
Wechseln Sie zunächst zum Benutzerkonto testuser:
su - testuser
## Password: testuser123
Beispiel
Nachdem Sie das Schlüsselpaar generiert haben, können Sie den Inhalt des Verzeichnisses ~/.ssh auflisten, um Ihre neuen Schlüssel zu sehen.
$ ls -l ~/.ssh
total 8
-rw------- 1 testuser testuser 3401 Aug 19 03:49 id_rsa
-rw-r--r-- 1 testuser testuser 759 Aug 19 03:49 id_rsa.pub
Die Datei id_rsa ist Ihr privater Schlüssel, und id_rsa.pub ist Ihr öffentlicher Schlüssel.
Öffentlichen Schlüssel autorisieren und SSH-Server konfigurieren
Da Sie nun über ein Schlüsselpaar verfügen, müssen Sie den Server konfigurieren. Dies umfasst zwei wesentliche Schritte: Das Hinzufügen Ihres öffentlichen Schlüssels zur Liste der autorisierten Schlüssel und die Sicherstellung, dass der SSH-Dienst so eingestellt ist, dass er die schlüsselbasierte Authentifizierung akzeptiert.
Voraussetzungen
Stellen Sie sicher, dass Sie weiterhin als testuser angemeldet sind. Falls nicht, wechseln Sie erneut zum Konto:
su - testuser
## Password: testuser123
Aufgaben
- Kopieren Sie Ihren öffentlichen Schlüssel in die Datei
~/.ssh/authorized_keys. - Setzen Sie die korrekten Dateiberechtigungen für
~/.ssh/authorized_keys. - Bearbeiten Sie die Konfigurationsdatei des SSH-Servers (
/etc/ssh/sshd_config), um die Authentifizierung per öffentlichem Schlüssel zu aktivieren. - Laden Sie den SSH-Dienst neu, um die Änderungen zu übernehmen.
Anforderungen
- Die Datei
~/.ssh/authorized_keysmuss erstellt werden und den Inhalt Ihres öffentlichen Schlüssels (~/.ssh/id_rsa.pub) enthalten. - Die Berechtigungen für
~/.ssh/authorized_keysmüssen auf600gesetzt sein. - In der Datei
/etc/ssh/sshd_configmuss die OptionPubkeyAuthenticationeinkommentiert und aufyesgesetzt sein. - Die Konfiguration des SSH-Dienstes muss mit dem Befehl
sudo pkill -HUP sshdneu geladen werden.
Hinweise
- Sie können den Befehl
catzusammen mit der Ausgabeumleitung (>>) verwenden, um den Schlüssel zur Dateiauthorized_keyshinzuzufügen. - Verwenden Sie den Befehl
chmod, um die Dateiberechtigungen anzupassen. - Der Benutzer
testuserverfügt übersudo-Rechte, um die Datei/etc/ssh/sshd_configzu bearbeiten und densshd-Dienst neu zu laden. - Da
systemctlin dieser Container-Umgebung nicht verfügbar ist, nutzen Siepkill, um das SignalHUPan densshd-Prozess zu senden, wodurch dieser seine Konfiguration neu einliest.
Beispiel
Nach Abschluss dieser Schritte sollten Sie in der Lage sein, sich per SSH am localhost anzumelden, ohne nach einem Passwort gefragt zu werden.
$ ssh testuser@localhost "echo Login successful"
Login successful
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie Sie die SSH-Sicherheit durch die Konfiguration der schlüsselbasierten Authentifizierung verbessern. Sie haben ein öffentlich-privates Schlüsselpaar erstellt, den öffentlichen Schlüssel auf dem Server durch Eintrag in die Datei authorized_keys autorisiert und die SSH-Serverkonfiguration angepasst, um diese sichere Authentifizierungsmethode zu aktivieren. Mit dem Abschluss dieser Aufgabe haben Sie eine grundlegende Fertigkeit für die sichere Verwaltung von Remote-Systemen erworben.



