Veröffentlicht
Wenn Sie SSH unter Linux verwenden müssen, um andere Computer aus der Ferne zu verwalten, wird Ihnen dieses Handbuch dabei helfen.
In der heutigen vernetzten Landschaft ist die Möglichkeit, Computer von verschiedenen geografischen Standorten aus zu verwalten, vom Luxus zur Notwendigkeit geworden. Abhängig vom verwendeten Betriebssystem gibt es hierfür mehrere Möglichkeiten. Für Linux-basierte Systeme, die gebräuchlichste und sicherste Möglichkeit, Ihren PC aus der Ferne zu verwalten, ist die Verwendung SSH (oder Sichere Shell).
Sehen wir uns an, wie man SSH unter Linux verwendet, um eine Verbindung zu anderen Computern herzustellen.
Grundlegende erste Schritte
Bevor Sie sich erfolgreich über SSH mit einem anderen Linux-Computer verbinden können, müssen Sie die folgenden Voraussetzungen erfüllen:
- Der Zielcomputer muss eingeschaltet und mit einem Netzwerk verbunden bleiben.
- Die erforderliche Client- und Serversoftware muss installiert und aktiviert sein.
- Sie müssen die IP-Adresse oder den Hostnamen des Zielcomputers kennen.
- Es müssen entsprechende Berechtigungen für den Fernzugriff vorhanden sein.
- Firewall-Konfigurationen auf dem Remote-Computer müssen Erlauben Sie die eingehende Verbindung.
Wenn Sie auf einen Linux-Computer zugreifen, der beispielsweise von Ihrem Webhosting-Unternehmen betrieben wird, sollte sich dieser bereits um alles gekümmert haben. Als Nächstes müssen Sie möglicherweise einige grundlegende Softwareinstallationen auf Ihrem eigenen Linux-Computer durchführen.
Verwenden von SSH unter Linux: Ein praktischer Leitfaden
Für den Aufbau einer funktionierenden SSH-Verbindung sind sowohl Client- als auch Server-Softwaremodule erforderlich. OpenSSH dient als Open-Source-Alternative vorwiegend für Linux-Plattformen.
Um den richtigen OpenSSH-Client zu installieren, benötigen Sie Terminalzugriff auf Ihrem lokalen Computer. Beachten Sie, dass auf Ubuntu-Systemen kein vorinstallierter SSH-Server vorhanden ist.
Installieren eines OpenSSH-Clients
Bevor Sie sich mit dem Installationsprozess befassen, sollten Sie sicherstellen, dass der SSH-Client nicht bereits vorhanden ist. Um das zu tun, einfach Öffnen Sie ein Terminalfenster. Sie können entweder nach „Terminal“ suchen oder drücken Strg + Alt + T auf Ihrer Tastatur.
Testen Sie im Terminalfenster, ob der SSH-Client vorhanden ist, indem Sie Folgendes eingeben:
$ ssh
Wenn auf dem Linux-Computer bereits ein SSH-Client installiert ist, werden die folgenden Informationen über den Bildschirm angezeigt.
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host: port] [-w local_tun[:remote_tun]] destination [command [argument ...]]
Wenn Sie stattdessen eine Beschwerde darüber erhalten, dass die Datei nicht gefunden wurde, müssen Sie mit der Installation des OpenSSH-Clients fortfahren. Zum Glück ist das ganz einfach.
Führen Sie unter Ubuntu und anderen Debian-basierten Installationen einfach den folgenden Befehl im Terminal aus:
$ sudo apt install openssh-client
Wenn Sie Fedora oder ausführen eine andere Distribution das nutzt lecker anstatt geeignet, führen Sie einfach diesen Befehl aus:
$ sudo yum -y install openssh-clients
Neuere Fedora-Systeme können verwendet werden dnf stattdessen. Wenn das nach Ihnen klingt, lautet der magische Befehl:
$ sudo dnf install -y openssh-clients
Befolgen Sie die Anweisungen auf dem Bildschirm und Sie können im Handumdrehen loslegen.
Initiieren einer SSH-Verbindung
Sobald Sie sichergestellt haben, dass der SSH-Client auf Ihrem Linux-Computer installiert ist, ist es an der Zeit, die erste Verbindung herzustellen. Geben Sie im Terminalfenster den folgenden Befehl ein:
$ ssh username@host_ip_address
Wenn Benutzernamen auf lokalen und Remote-Computern übereinstimmen, geben Sie einfach Folgendes ein:
$ ssh host_ip_address
Wenn Sie zum ersten Mal eine Verbindung herstellen, werden Sie gefragt, ob Sie weiterhin eine Verbindung zum unbekannten Computer herstellen möchten. Geben Sie an dieser Stelle Folgendes ein Ja und fortsetzen.
Geben Sie Ihr Passwort ein. Bitte beachten Sie, dass Sie bei der Eingabe keine Rückmeldung auf dem Bildschirm erhalten. Sobald Sie fertig sind, sollten Sie beim Remote-Server angemeldet sein und können mit der Ausführung aller Aufgaben beginnen, die Sie überhaupt auf diesem Computer ausführen müssen.
SSH verstehen: Ein allgemeiner Überblick
Secure Shell oder SSH – gelegentlich auch als Secure Socket Shell bezeichnet – ist ein Protokoll, das eine sichere Verbindung zu Remote-Servern oder Computern über eine textbasierte Schnittstelle ermöglicht.
Nach der Authentifizierung eines sicheren SSH-Kanals wird eine Shell-Sitzung initialisiert, die eine Befehlszeileninteraktion von Ihrem lokalen Computer aus ermöglicht.
Dieses Protokoll ist bei System- und Netzwerkadministratoren sowie allen, die eine sichere Fernverwaltung von Maschinen benötigen, bekannt und beliebt.
Mechanismen der SSH-Funktionalität
Die Einrichtung eines SSH-Kanals erfordert die Zusammenarbeit zweier zentraler Komponenten: einer clientseitigen Anwendung und ihres serverseitigen Gegenstücks. Die Clientanwendung initiiert die Verbindung durch Bereitstellung von Remote-Host-Anmeldeinformationen.
Bei Überprüfung erstellt die Software einen verschlüsselten Kanal zwischen den beiden Computern. Auf dem Remote-Computer scannt ein SSH-Daemon kontinuierlich einen zugewiesenen TCP/IP-Port nach potenziellen Verbindungsanfragen.
Nach dem Empfang übermittelt der Daemon seine Software- und Protokollfunktionen und beide Entitäten tauschen Identifikationsdaten aus. Bei Übereinstimmung der Zugangsdaten kommt es zu einer verschlüsselten Sitzung, überwiegend über das SSH-Protokoll Version 2.
Erweiterte SSH-Nutzung: Speichern Ihres Verschlüsselungsschlüssels, um die Eingabe eines Passworts zu vermeiden
Nehmen wir an, Sie möchten es vermeiden Geben Sie Ihr Passwort ein jedes Mal, wenn Sie sich bei einem Remote-Server anmelden. Für eine sichere, passwortfreie Verbindung zu einem anderen Computer ist ein SSH-Schlüssel (Secure Shell) unverzichtbar.
Möglicherweise besitzen Sie bereits einen solchen Schlüssel, aber es ist nie eine schlechte Idee, einen neuen zu erstellen. Ein SSH-Schlüssel stammt von Ihrem lokalen Computer und ist in zwei verschiedene Elemente unterteilt: einen vertraulichen, privaten Schlüssel – der niemals preisgegeben werden darf – und sein öffentliches Gegenstück. Dieser öffentliche Schlüssel wird dann an alle Remote-Systeme weitergegeben, bei denen Sie sich anmelden müssen.
Manche Leute entscheiden sich möglicherweise für einen SSH-Schlüssel für eine Vielzahl von Anwendungen, von Remote-Systemanmeldungen bis hin zu GitLab. Ein Schlüssel, um sie alle zu beherrschen, könnte man sagen. Mein Ansatz ist jedoch detaillierter. Ich verwende verschiedene Schlüssel, die jeweils für eine bestimmte Untergruppe von Aufgaben konzipiert sind.
Ich nutze beispielsweise einen dedizierten Schlüssel für lokale Maschinen in meinem Heimnetzwerk, ein weiteres Exklusivprodukt Schlüssel für Webserver unter meiner Verwaltung und ein weiterer einzigartiger Schlüssel für die Interaktion mit Git Gastgeber.
Erstellen eines neuen SSH-Schlüsselpaars
So können Sie einen neuen SSH-Schlüssel erstellen und ihn dann auf den Remote-Server kopieren, für den Sie ihn verwenden möchten. Erstellen Sie zunächst den Schlüssel mit ssh-keygen.
$ ssh-keygen -t ed25519 -f /.ssh/lan
Die Flagge -T Gibt den Typ des zu erstellenden Schlüssels an und stellt sicher, dass die Verschlüsselung höher als der Standardwert ist. Der -F Flag legt den Dateinamen und den Speicherort des Schlüssels fest.
Wenn Sie diesen Befehl ausführen, werden Sie aufgefordert, ein Passwort für den Schlüssel zu erstellen. Dieses Passwort bleibt, sofern Sie es festlegen, lokal und wird nicht über das Netzwerk gesendet.
Senden Sie Ihren SSH-Schlüssel an den Remote-Server
Als Nächstes müssen Sie diesen Sicherheitsschlüssel an den Remote-Server senden. Um dies zu erreichen, geben Sie einfach diesen Befehl ein:
$ ssh-copy-id -i /.ssh/lan.pub user@host_ip_address
Sie werden aufgefordert, Ihr Anmeldekennwort auf dem Remote-Host einzugeben. Sobald der Vorgang jedoch abgeschlossen ist, wird Ihr Schlüssel auf diesem Computer installiert.
Sie sollten dies testen, indem Sie versuchen, sich beim Remote-Computer anzumelden. Wenn Sie erneut eine SSH-Verbindung zum Remote-Host herstellen, werden Sie nach der Passphrase für den Schlüssel gefragt, sofern Sie eine festgelegt haben. Denken Sie daran, dass dies nicht Ihr Login-Passwort ist. Es handelt sich um die für diesen SSH-Schlüssel spezifische Passphrase.
Bei vielen Distributionen, einschließlich Linux, wird diese Passphrasen-Eingabeaufforderung als Dialogfeld geöffnet. Wie Sie dem folgenden Beispiel entnehmen können, können Sie ein Kontrollkästchen aktivieren, damit sich der Linux-Computer die Passphrase merkt. Dadurch wird jedoch die Sicherheit des Schlüssels verringert.
Sobald Sie die Passphrase für Ihren SSH-Schlüssel eingegeben haben, sollten Sie diese nicht erneut eingeben müssen, bis Sie sich vom lokalen Computer abmelden.
Andere Möglichkeiten zur Verwendung von SSH
Wenn das alles erledigt ist, können Sie SSH für den Fernzugriff auf andere Linux- oder Unix-basierte Computer verwenden. Natürlich geht es nicht nur darum, zur Eingabeaufforderung zu gelangen.
SSH bietet auch eine sichere Möglichkeit, Dateien zwischen Computern zu übertragen, ohne FTP zu verwenden. Sie können dazu Secure Copy oder scp verwenden Verschieben Sie diese Dateien. Wenn Sie ein Windows 11-Benutzer sind und SSH verwenden müssen, haben Sie Glück, da der Client vorinstalliert ist. Du kannst sogar generieren und nutzen SSH-Schlüssel in Windows 11.