Konfigurieren von SSH-Zertifikaten für einen sicheren Login

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Projekt lernst du, wie du ein SSH-Zertifikat für den Benutzer labex konfigurierst, sodass der Benutzer labex kein Passwort eingeben muss, wenn er sich per SSH in die lokale Experimentierumgebung einloggt.

👀 Vorschau

## Kein Passwort erforderlich, um sich bei localhost einzuloggen
$ ssh labex@localhost
labex:project/ $ ssh labex@localhost
Willkommen bei Ubuntu 22.04.3 LTS (GNU/Linux 5.4.0-162-generic x86_64)

 * Dokumentation:  https://help.ubuntu.com
 * Verwaltung:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
Letzter Login: Wed Jan 17 21:00:55 2024 von 47.251.57.20
## Loggen Sie sich direkt ein, um eine neue Shell zu öffnen
labex:~/ $ ls
Code  Desktop  golang  project

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du ein .ssh-Verzeichnis im Home-Verzeichnis des Benutzers labex erstellst
  • Wie du ein neues SSH-Schlüsselpaar generierst
  • Wie du den neu generierten öffentlichen Schlüssel zur authorized_keys-Datei hinzufügst
  • Wie du den SSH-Dienst neu startest, nachdem das SSH-Zertifikat konfiguriert wurde
  • Wie du die SSH-Verbindung ohne Passwort testest

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Sich sicher per SSH-Zertifikat in die lokale Experimentierumgebung einzuloggen
  • Die SSH-Konfiguration für den Benutzer labex zu verwalten
  • Die Wichtigkeit von SSH-Zertifikaten für den sicheren Zugang zu Servern zu verstehen

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/SystemInformationandMonitoringGroup -.-> linux/service("Service Managing") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/RemoteAccessandNetworkingGroup -.-> linux/ssh("Secure Connecting") subgraph Lab Skills linux/ls -.-> lab-301461{{"Konfigurieren von SSH-Zertifikaten für einen sicheren Login"}} linux/cat -.-> lab-301461{{"Konfigurieren von SSH-Zertifikaten für einen sicheren Login"}} linux/chmod -.-> lab-301461{{"Konfigurieren von SSH-Zertifikaten für einen sicheren Login"}} linux/mkdir -.-> lab-301461{{"Konfigurieren von SSH-Zertifikaten für einen sicheren Login"}} linux/service -.-> lab-301461{{"Konfigurieren von SSH-Zertifikaten für einen sicheren Login"}} linux/sudo -.-> lab-301461{{"Konfigurieren von SSH-Zertifikaten für einen sicheren Login"}} linux/ssh -.-> lab-301461{{"Konfigurieren von SSH-Zertifikaten für einen sicheren Login"}} end

Erstellen des SSH-Verzeichnisses und Generieren eines SSH-Schlüsselpaars

In diesem Schritt lernst du, wie du ein .ssh-Verzeichnis im Home-Verzeichnis des Benutzers labex erstellst und ein neues SSH-Schlüsselpaar generierst.

  1. Öffne ein Terminal und melde dich als Benutzer labex an:

    sudo su - labex
  2. Erstelle das .ssh-Verzeichnis:

    mkdir -p ~/.ssh
  3. Generiere ein neues SSH-Schlüsselpaar:

    ssh-keygen -t rsa -b 4096 -C "labex@localhost"

    Wenn du dazu aufgefordert wirst, drücke die Eingabetaste, um die Standarddatei- und Schlüsselpassphrase zu übernehmen.

Öffentlichen Schlüssel zur authorized_keys hinzufügen

In diesem Schritt lernst du, wie du den neu generierten öffentlichen Schlüssel zur authorized_keys-Datei hinzufügst.

  1. Füge den öffentlichen Schlüssel zur authorized_keys-Datei hinzu:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  2. Setze die richtigen Berechtigungen für die authorized_keys-Datei:

    chmod 600 ~/.ssh/authorized_keys
  3. Starte den SSH-Dienst neu:

    sudo service ssh restart

Teste die SSH-Verbindung

In diesem Schritt lernst du, wie du die SSH-Verbindung ohne Passwort testest.

  1. Versuche, dich als Benutzer labex in die lokale Experimentierumgebung einzuloggen:

    ssh labex@localhost

    Du solltest jetzt in der Lage sein, dich ohne Passwort einzuloggen.

  2. Nachdem du dich eingeloggt hast, kannst du das Home-Verzeichnis des Benutzers labex erkunden:

    ls

    Du solltest die Verzeichnisse Code, Desktop, golang und project sehen.

✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Labore absolvieren, um deine Fähigkeiten zu verbessern.