Verbinden mit Remote-Systemen

LinuxLinuxBeginner
Jetzt üben

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

Einführung

In diesem Lab lernen Sie, wie Sie den Linux-Befehl ssh verwenden können, um remote auf andere Linux-Systeme zuzugreifen und diese zu verwalten. SSH (Secure Shell) ist ein leistungsstarkes Tool für Systemadministratoren und Netzwerktechniker, das es Ihnen ermöglicht, eine Vielzahl von Aufgaben remote und sicher auszuführen.

Ziele

Am Ende dieses Labs können Sie Folgendes:

  • Den Befehl ssh nutzen, um sicher eine Verbindung zu einem Remote-System herzustellen
  • Befehle auf einem Remote-System über SSH ausführen
  • Die Grundlagen der Remote-Systemverwaltung verstehen

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) 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/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/top("Task Displaying") linux/UserandGroupManagementGroup -.-> linux/passwd("Password Changing") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/UserandGroupManagementGroup -.-> linux/env("Environment Managing") linux/RemoteAccessandNetworkingGroup -.-> linux/ssh("Secure Connecting") subgraph Lab Skills linux/echo -.-> lab-34{{"Verbinden mit Remote-Systemen"}} linux/ls -.-> lab-34{{"Verbinden mit Remote-Systemen"}} linux/cat -.-> lab-34{{"Verbinden mit Remote-Systemen"}} linux/top -.-> lab-34{{"Verbinden mit Remote-Systemen"}} linux/passwd -.-> lab-34{{"Verbinden mit Remote-Systemen"}} linux/sudo -.-> lab-34{{"Verbinden mit Remote-Systemen"}} linux/env -.-> lab-34{{"Verbinden mit Remote-Systemen"}} linux/ssh -.-> lab-34{{"Verbinden mit Remote-Systemen"}} end

Abrufen des Passworts für den labex-Benutzer

Bevor wir SSH verwenden können, müssen wir das Passwort für den Benutzer labex kennen. In dieser Lab-Umgebung ist das Passwort als Umgebungsvariable gespeichert.

  1. Öffnen Sie ein Terminalfenster in der Desktopumgebung. Nur im Terminal der Desktopumgebung sind die Umgebungsvariablen gesetzt.
Passwort abrufen
  1. Um das Passwort abzurufen, führen Sie den folgenden Befehl aus:

    printenv | grep PASSWORD

    Hinweis: Sie müssen diesen Befehl im Terminal der Desktopumgebung ausführen, nicht in dem Terminal, das Sie über die obere Menüleiste geöffnet haben.

    Dieser Befehl zeigt alle Umgebungsvariablen an, die "PASSWORD" enthalten. Suchen Sie nach einer Zeile, die LABEX_PASSWORD=... lautet. Die Zeichen nach dem Gleichheitszeichen sind Ihr Passwort.

  2. Notieren Sie sich dieses Passwort, da Sie es in den folgenden Schritten benötigen werden.

Wichtig: Versuchen Sie nicht, das Passwort des Benutzers labex zu ändern. Die Lab-Umgebung ist mit diesem bestimmten Passwort eingerichtet, und eine Änderung kann dazu führen, dass die Lab-Überprüfungsschritte fehlschlagen. Verwenden Sie immer das Passwort, das von der Umgebungsvariablen LABEX_PASSWORD bereitgestellt wird, während Sie dieses Lab absolvieren.

Verbinden mit dem lokalen System über SSH

Jetzt, da wir das Passwort haben, üben wir die Verwendung von SSH, um eine Verbindung mit dem lokalen System herzustellen. Dies simuliert die Verbindung mit einem Remote-System.

Beispiel eines SSH-Verbindungsterminals
  1. Verwenden Sie im Terminal den folgenden Befehl, um über SSH eine Verbindung mit dem lokalen System herzustellen:

    ssh [email protected]

    Hierbei ist 127.0.0.1 die Loopback-IP-Adresse, die auf den lokalen Rechner verweist. Sie wird oft "localhost" genannt.

  2. Möglicherweise sehen Sie eine Meldung über die Authentizität des Hosts. Diese Meldung erscheint, weil es das erste Mal ist, dass Sie eine Verbindung mit diesem "Remote"-System herstellen. In einer realen Umgebung sollten Sie den Fingerabdruck überprüfen, bevor Sie fortfahren. In diesem Lab geben Sie yes ein und drücken Sie die Eingabetaste, um fortzufahren.

  3. Wenn Sie zur Eingabe des Passworts aufgefordert werden, geben Sie das Passwort ein, das Sie in Schritt 1 abgerufen haben. Sie sehen das Passwort nicht, während Sie es eingeben.

  4. Wenn die Verbindung erfolgreich ist, sehen Sie eine neue Eingabeaufforderung. Dies zeigt an, dass Sie jetzt über SSH verbunden sind, auch wenn Sie sich noch auf demselben Rechner befinden.

  5. Um die SSH-Sitzung zu beenden, geben Sie exit ein und drücken Sie die Eingabetaste. Dadurch gelangen Sie zurück zu Ihrer ursprünglichen Terminal-Sitzung.

Ausführen eines einfachen Befehls über SSH

Üben wir das Ausführen eines Befehls auf dem "Remote"-System über SSH. Dies ist nützlich, wenn Sie einen schnellen Befehl ausführen müssen, ohne eine vollständige SSH-Sitzung zu starten.

  1. Verwenden Sie den folgenden Befehl, um die Inhalte des Home-Verzeichnisses auf dem lokalen System über SSH aufzulisten:

    ssh [email protected] 'ls -l ~'

    Dieser Befehl lässt sich wie folgt aufteilen:

    • ssh: Der Befehl, um eine SSH-Verbindung zu starten
    • [email protected]: Der Benutzer und die IP-Adresse, mit der wir uns verbinden
    • 'ls -l ~': Der Befehl, den wir auf dem Remote-System ausführen möchten, in Anführungszeichen eingeschlossen
  2. Geben Sie das Passwort des Benutzers labex ein, wenn Sie dazu aufgefordert werden.

  3. Sie sollten die Ausgabe des Befehls ls -l ~ sehen, die die Inhalte des Home-Verzeichnisses anzeigt. Diese Ausgabe stammt aus dem "Remote"-System, auch wenn es tatsächlich derselbe Rechner ist.

  4. Beachten Sie, dass Sie diesmal keine vollständige SSH-Sitzung eröffnet haben. Der Befehl wurde ausgeführt, und Sie wurden sofort zu Ihrem ursprünglichen Terminal zurückgeführt.

Verwendung von SSH mit Pseudo-Terminal-Zuweisung

Einige Befehle erfordern ein Pseudo-Terminal für eine korrekte Ausführung, insbesondere interaktive Befehle oder solche, die formatierte Ausgaben erzeugen. Üben wir die Verwendung der Option -t mit SSH, um die Zuweisung eines Pseudo-Terminals zu erzwingen.

  1. Führen Sie den folgenden Befehl aus, um die Betriebszeit des Systems anzuzeigen:

    ssh -t [email protected] 'uptime'

    Die Option -t zwingt SSH, ein Pseudo-Terminal zuzuweisen. Dies kann für Befehle erforderlich sein, die in einer interaktiven Umgebung ausgeführt werden sollen.

  2. Geben Sie das Passwort des Benutzers labex ein, wenn Sie dazu aufgefordert werden.

  3. Sie sollten eine Ausgabe sehen, die anzeigt, wie lange das System läuft, sowie Informationen zur durchschnittlichen Auslastung.

  4. Versuchen wir nun einen interaktiven Befehl. Führen Sie Folgendes aus:

    ssh -t [email protected] 'top -n 1'

    Dadurch wird der Befehl top ausgeführt, der normalerweise eine interaktive Ansicht der Systemprozesse bietet, aber hier verwenden wir die Option -n 1, um nach einer Iteration zu beenden.

  5. Geben Sie erneut das Passwort des Benutzers labex ein, wenn Sie dazu aufgefordert werden.

  6. Sie sollten eine formatierte Ausgabe sehen, die die am meisten ressourcenintensiven Prozesse auf dem System anzeigt.

Erstellen und Zugreifen auf eine Remote-Datei

Üben wir das Erstellen einer Datei auf dem "Remote"-System und den Zugriff darauf. Dies zeigt, wie Sie Dateien auf einem Remote-System mithilfe von SSH manipulieren können.

  1. Verwenden Sie SSH, um eine Datei namens remote_test.txt im Home-Verzeichnis des Remote-Systems zu erstellen:

    ssh [email protected] 'echo "This is a test file created remotely" > ~/remote_test.txt'

    Dieser Befehl verwendet SSH, um einen echo-Befehl auf dem Remote-System auszuführen, der dann Text in eine neue Datei ausgibt.

  2. Sehen wir uns nun den Inhalt der Datei an, die wir gerade erstellt haben:

    ssh [email protected] 'cat ~/remote_test.txt'

    Der cat-Befehl wird verwendet, um den Inhalt der Datei anzuzeigen.

  3. Sie sollten die Nachricht "This is a test file created remotely" in Ihrem Terminal sehen.

  4. Bestätigen wir die Existenz der Datei, indem wir sie auflisten:

    ssh [email protected] 'ls -l ~/remote_test.txt'

    Dies zeigt Ihnen die Dateidetails, einschließlich Berechtigungen, Größe und Erstellungsdatum.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den ssh-Befehl verwenden, um sich remote mit Linux-Systemen zu verbinden und diese zu verwalten. Sie haben geübt, ein Benutzerpasswort aus Umgebungsvariablen abzurufen, sich über SSH mit einem lokalen System zu verbinden (was eine Remote-Verbindung simuliert), Befehle remote auszuführen, SSH mit Pseudo-Terminal-Zuweisung zu nutzen sowie Dateien auf einem "Remote"-System zu erstellen und darauf zuzugreifen.

Diese Fähigkeiten sind für Systemadministratoren und alle, die Linux-Systeme remote verwalten müssen, von grundlegender Bedeutung. Denken Sie daran, dass Sie, obwohl Sie sich für die Übung mit dem lokalen System verbunden haben, dieselben Befehle und Techniken verwenden können, um sich mit echten Remote-Systemen über ein Netzwerk oder das Internet zu verbinden und diese zu verwalten.

Legen Sie immer den Schwerpunkt auf die Sicherheit, wenn Sie mit Remote-Systemen arbeiten. Verwenden Sie starke Passwörter, halten Sie Ihre Systeme auf dem neuesten Stand und erwägen Sie zusätzliche Sicherheitsmaßnahmen wie die Schlüsselbasierte Authentifizierung für Produktionsumgebungen.

Wenn Sie Ihre Reise in der Systemadministration fortsetzen, werden Sie feststellen, dass SSH ein unverzichtbares Tool für die Remote-Verwaltung und das Troubleshooting ist.