• Product Updates

Was ist SSH? Eine Einführung in das Secure-Shell-Protokoll

Was ist SSH? Eine Einführung in das Secure-Shell-Protokoll

Table of contents

SSH, Secure Shell oder Secure Socket Shell, spielt im Bereich des sicheren Fernzugriffs eine grundlegende Rolle. Neben RDP (Remote Desktop Protocol) behauptet SSH seinen Platz als eines der führenden Protokolle, indem es nahtlose und sichere Interaktionen ermöglicht.

Im Wesentlichen bietet SSH ein robustes und zuverlässiges Protokoll zum Aufbau von Verbindungen mit Remote-Servern und -Geräten über ein Terminal. Es fungiert als geschützte Schnittstelle und ermöglicht System- und Netzwerkadministratoren einen hochsicheren Fernzugriff auf ihre Geräte.

In diesem SSH-Tutorial werden wir uns eingehend mit dem Secure Shell-Protokoll befassen und die Bedeutung von SSH sowie dessen Funktionsweise erläutern. Außerdem führen wir Sie durch den Prozess der Verbindung zu einem entfernten Linux-Server mithilfe eines SSH-Clients, PuTTY.

Funktionsweise von SSH: Ein Überblick

Die sichere Verbindung zu zwei Remote-Servern über das SSH-Protokoll umfasst zwei Komponenten: SSH-Client und SSH-Server. Der Client ist die Software, die auf Ihrem lokalen Gerät läuft, während die Serverkomponente auf dem Remote-Rechner ausgeführt wird.

Sobald eine sichere SSH-Verbindung hergestellt ist, wird eine Shell-Sitzung initiiert, die es Ihnen ermöglicht, mit dem Server zu interagieren, indem Sie SSH-Befehle über das Terminal von Ihrem lokalen Client-Rechner aus eingeben, Ports weiterleiten und Tunnel erstellen.

Lassen Sie uns die Funktionsweise von SSH im Detail erläutern.

Wie initiiert man eine Verbindung vom SSH-Client zum Remote-Server?

Sie können eine Verbindung vom SSH-Client zum Remote-Server mit den folgenden Schritten initiieren:

  1. Starten Sie den SSH-Client auf Ihrem lokalen Gerät und geben Sie die IP-Adresse oder Domain des Remote-Hosts an.
  2. Der SSH-Client überprüft Ihre Anmeldedaten (Benutzername und Passwort) und erstellt eine verschlüsselte Verbindung zum Remote-Host für den sicheren Datenaustausch.
  3. Stellen Sie sicher, dass der SSH-Daemon auf dem Remote-Server läuft, der auf einem bestimmten TCP/IP-Port auf eingehende Client-Verbindungen wartet und darauf reagiert, indem er Informationen über die Softwareversionen und die unterstützten SSH-Protokollversionen weitergibt – sowohl der Client als auch der Server tauschen Identifikationsdaten aus.
  4. Sind die Anmeldedaten korrekt und akzeptiert der Server die Verbindung, baut SSH eine sichere Sitzung zwischen dem SSH-Client und dem Remote-Server auf. Dieser anfängliche Handshake-Prozess ist ein wichtiger Schritt beim Aufbau einer sicheren SSH-Fernsteuerungssitzung.

Standardmäßig wird die SSH-Protokollversion 2 für erhöhte Sicherheit und moderne Kommunikation verwendet. Als Nächstes wollen wir erörtern, welche Verschlüsselungstechniken bei der Verwendung des SSH-Protokolls zum Einsatz kommen.

Arten der SSH-Verschlüsselung erklärt

SSH verwendet zwei verschiedene Arten von Verschlüsselungstechniken:

  • Symmetrische Verschlüsselung
  • Asymmetrische Verschlüsselung

Symmetrische Verschlüsselung

Symmetrische Verschlüsselung ist eine Methode zur Verschlüsselung von Daten, bei der ein einziger geheimer Schlüssel sowohl zum Verschlüsseln als auch zum Entschlüsseln der Nachrichten verwendet wird. Das bedeutet, dass die übertragene Nachricht von jedem entschlüsselt werden kann, der Zugriff auf den Schlüssel hat.

Bei dieser Art der SSH-Verschlüsselung generieren Client und Server einen geheimen Schlüssel durch einen gemeinsam vereinbarten Prozess, und dieser Schlüssel wird niemals an andere Stellen weitergegeben.

Die symmetrische Verschlüsselung, die manchmal auch als gemeinsamer Schlüssel oder Verschlüsselung mit gemeinsamem Geheimnis bezeichnet wird, umfasst in der Regel einen einzigen Schlüssel oder gelegentlich ein Schlüsselpaar. Im Falle eines Schlüsselpaares lässt sich ein Schlüssel leicht aus dem anderen Schlüssel ableiten oder berechnen.

Asymmetrische Verschlüsselung

Die asymmetrische Verschlüsselung unterscheidet sich von der symmetrischen Verschlüsselung dadurch, dass sie zwei separate Schlüssel für die Ver- und Entschlüsselung verwendet. Diese Schlüssel werden als öffentlicher Schlüssel und privater Schlüssel bezeichnet und bilden zusammen ein öffentlich-privates Schlüsselpaar.

Der private Schlüssel wird geheim gehalten, während der öffentliche Schlüssel frei verteilt wird. Bei dieser Verschlüsselungstechnik kann jeder einen öffentlichen Schlüssel zur Verschlüsselung einer Nachricht verwenden, aber nur der Empfänger, der auch Zugriff auf den entsprechenden privaten Schlüssel hat, kann diese entschlüsseln.

Der öffentliche und der private Schlüssel sind durch komplexe mathematische Verfahren miteinander verknüpft, doch die Schlüssel selbst bestehen aus langen Zeichenfolgen aus scheinbar zufälligen Zahlen und Symbolen.

Wie aktiviert man eine SSH-Verbindung unter Linux?

Um eine SSH-Verbindung auf Ihrem Linux-System zu aktivieren, müssen Sie sicherstellen, dass Client und Server auf Ihrem lokalen und dem Remote-Server konfiguriert sind.

Führen Sie nun die folgenden Schritte aus, um eine SSH-Verbindung auf einem Linux-System zu aktivieren:

Schritt 1: OpenSSH-Client installieren

Aktualisieren Sie die System-Repositories und installieren Sie den OpenSSH-Client, falls dieser auf Ihrem Linux-System noch nicht installiert ist:

$ sudo apt update
$ sudo apt install openssh-client


Der SSH-Client ist standardmäßig auf den meisten Linux-Distributionen vorinstalliert.

Schritt 2: OpenSSH-Server installieren

Um SSH-Verbindungen anzunehmen, müssen Sie einen OpenSSH-Server auf Ihrem Linux-System installieren. Der SSH-Server ist unter Ubuntu 22.04 standardmäßig nicht installiert. Sie können den OpenSSH-Server jedoch aus dem Ubuntu-APT-Repository installieren und anschließend die SSH-Verbindungen aktivieren. Verwenden Sie den folgenden Befehl, um den OpenSSH-Server auf einem Linux-System zu installieren:

$ sudo apt install openssh-server


Schritt 3: Überprüfen Sie den Status des SSH-Verbindungsdienstes

Überprüfen Sie den Ausführungsstatus des SSH-Dienstes mit dem Befehl „systemctl“:

$ sudo systemctl status ssh


Die „systemd“-Einheit verwaltet alle Dienste auf Ubuntu-Distributionen. Ebenso können Sie den SSH-Dienst mit den folgenden Befehlen verwalten (starten oder stoppen):

$ sudo systemctl start ssh
$ sudo systemctl stop ssh


Falls der Dienst auf Ihrem System nicht ordnungsgemäß läuft, können Sie den SSH-Dienst auf Ihrem Linux-System aktivieren und neu starten:

$ sudo systemctl enable ssh
$ sudo systemctl restart ssh


Schritt 4: Zugriff auf den SSH-Port in der UFW-Firewall zulassen

Die Linux-SSH-Verbindung lauscht auf Port 22. Legen Sie daher die Port-Einstellungen der UFW-Firewall so fest, dass SSH für die Konfiguration des Fernzugriffs aktiviert ist.

$ sudo ufw enable


Erlauben Sie nun den Zugriff auf entfernte SSH-Verbindungen auf Port 22 in der UFW-Firewall mit dem folgenden Befehl:

$ sudo ufw allow 22/tcp


Schritt 5: Verbindung zum SSH-Server unter Ubuntu 22.04

Sobald Sie SSH über das Terminal aktiviert haben, können Sie Remote-SSH-Verbindungen initiieren und eingehende SSH-Verbindungsanfragen von Remote-Clients annehmen. Verwenden Sie den Befehl ssh, um eine Verbindung zum Remote-Server herzustellen:

$ssh user-name@IP-address/remote-hostname


In diesem Beispiel verwenden wir den SSH-Befehl, um eine Verbindung zu einem Server mit der IP-Adresse (geben Sie Ihre IP-Adresse ein) als Benutzer „hostname“ herzustellen. Geben Sie SSH über das Terminal ein:

Herzlichen Glückwunsch! Ihr Server ist nun bereit, SSH-Fernverbindungsanfragen von anderen SSH-Clients anzunehmen.

Was ist PuTTY?

PuTTY ist ein Open-Source-Terminalemulator. Es handelt sich um eine kostenlose und plattformübergreifende Software, die sowohl für Windows- als auch für Linux-Benutzer geeignet ist.

Als beliebter SSH-Client ermöglicht PuTTY sichere Verbindungen zu Remote-Rechnern, unabhängig vom zugrunde liegenden Betriebssystem. Die Hauptfunktion von PuTTY besteht darin, eine textbasierte Benutzeroberfläche für die sichere Verbindung zu Remote-Servern bereitzustellen. In diesem Zusammenhang unterstützt es eine Reihe von Protokollen, darunter SSH, Telnet, rlogin und SCP.

Mit PuTTY können Sie Ihre Unix-Shell-Umgebungen ganz einfach von Windows aus verbinden. Linux-Systeme verfügen in der Regel über eine integrierte SSH-Befehlsunterstützung, dennoch entscheiden sich viele Linux-Benutzer beim Aufbau von SSH-Verbindungen zu Remote-Servern weiterhin für die PuTTY-Anwendung.

Wie installiert man PuTTY unter Linux?

PuTTY ist auf den meisten Linux-Distributionen nicht vorinstalliert. Sie können PuTTY jedoch über das Terminal auf dem Linux-System installieren.

Falls Sie PuTTY noch nicht auf Ihrem Linux-System installiert haben, können Sie es manuell von der offiziellen PuTTY-Downloadseite herunterladen. Dort müssen Sie aus den Paketdateien das Installationsprogramm für Unix oder Linux auswählen.

Befolgen Sie die folgenden Schritte, um PuTTY auf der Linux-Distribution Ubuntu 22.04 zu installieren.

Schritt 1: Herunterladen und Installieren von PuTTY über das Ubuntu-Universe-Repository

PuTTY ist auch im Ubuntu-Universe-Repository verfügbar. Sie können es also auch von dort installieren.

Hier werden wir PuTTY auf dem Linux-System Ubuntu 22.04 installieren. Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass das Ubuntu-Universe-Repository auf Ihrem System hinzugefügt und aktiviert ist.

Schritt 2: Ubuntu-Universe-Repository hinzufügen

Fügen Sie zunächst das Ubuntu-Universe-Repository mit dem folgenden Befehl hinzu:

$ sudo add-apt-repository universe


Schritt 3: System-Repositorys aktualisieren

Sobald das Repository hinzugefügt und aktiviert ist, wird empfohlen, alle System-Repositorys mit dem folgenden Befehl zu aktualisieren:

$ sudo apt update


Schritt 4: PuTTY unter Linux (Ubuntu 22.04) installieren

Installieren Sie nun PuTTY unter Ubuntu 22.04 mit dem folgenden Befehl:

$ sudo apt install putty


Sobald Sie die PuTTY-Installation abgeschlossen haben, können Sie PuTTY auf Ihrem Ubuntu-System starten und verwenden. Sie können PuTTY unter Linux über die Anwendungssuchleiste starten. Geben Sie „PuTTY“ in die Suchleiste ein, und Sie sehen das PuTTY-Anwendungssymbol in den Suchergebnissen.

Wie stellt man mit PuTTY eine Verbindung zu einem Linux-Server her?

Mit PuTTY können Sie eine Verbindung zu jedem Remote-Server oder -Rechner herstellen. In diesem Abschnitt zeigen wir Ihnen, wie Sie mit PuTTY eine Verbindung zu einem Remote-Ubuntu-Linux-Server herstellen.

Schritt 1: Installieren Sie PuTTY unter Windows

1. Um eine Verbindung zu einem Remote-Linux-Rechner herzustellen, installieren Sie PuTTY auf einem Windows-System. Um PuTTY unter Windows zu installieren, besuchen Sie die offizielle Download-Seite. Wählen Sie das .msi-Installationsprogramm für Windows aus.
2. Klicken Sie auf das Installationsprogramm, um es auf Ihrem System auszuführen. Zunächst wird der PuTTY-Setup-Assistent auf dem Desktop gestartet. Klicken Sie auf „Weiter“.
3. Wählen Sie den Zielordner aus. Hier fahren wir mit der Standardinstallation fort und klicken auf „Weiter“.
4. Klicken Sie nun auf „Installieren“, um die PuTTY-Installation auf dem Windows-System zu starten.
5. Sobald die Installation abgeschlossen ist, klicken Sie auf „Fertigstellen“.
6. Starten Sie PuTTY unter Windows über das Startmenü.

Schritt 2: Einrichten des Remote-Linux-Servers

In dieser Anleitung verwenden wir Ubuntu 22.04 als Remote-SSH-Linux-Server.

1. Öffnen Sie Ihren Remote-Linux-Server. Es wird davon ausgegangen, dass „openssh-server“ auf Ihrem Ubuntu-System installiert ist, wie oben beschrieben.
2. Überprüfen Sie die IP-Adresse Ihres Ubuntu-Systems mit dem Befehl „ip a“ oder „ifconfig“.
3. Kopieren Sie die IP-Adresse des Remote-Servers und fügen Sie sie in die PuTTY-Konfiguration auf dem Windows-System ein. Lassen Sie nun alle Felder unverändert und klicken Sie auf „Öffnen“.
4. Auf dem Desktop wird die folgende „PuTTY-Sicherheitswarnung“ angezeigt. Klicken Sie auf „Akzeptieren“.
5. Danach erscheint ein Terminalfenster auf dem Desktop. Hier geben Sie den Anmeldenamen und das Passwort des Remote-Servers ein. Drücken Sie die Eingabetaste, woraufhin das folgende Fenster im Terminal angezeigt wird:
6. Sie haben sich erfolgreich über PuTTY mit Ihrem Remote-Linux-Server verbunden. Führen Sie zur Überprüfung einige Befehle aus:
7. Öffnen Sie nun den Ubuntu 22.04-Server und überprüfen Sie diese Befehle:

Wie wir auf dem obigen Screenshot sehen können, wurde der Ordner auf einem Remote-Linux-Server erstellt. Schließen Sie nun dieses Fenster, um die Sitzung zu beenden.

Fazit

SSH ist im heutigen digitalen Zeitalter unverzichtbar und gewährleistet eine verschlüsselte, sichere Kommunikation zwischen Geräten. Vom Verständnis seiner komplexen Funktionsweise bis hin zum Herstellen von Verbindungen mit Remote-Servern ist seine Bedeutung unbestreitbar. Seine Anpassungsfähigkeit an Systeme wie Linux und seine Zugänglichkeit über Tools wie PuTTY unterstreichen seine Wichtigkeit.

Dieser Leitfaden hat wertvolle Einblicke in den Prozess des Fernzugriffs über SSH und die Nutzung seiner Vorteile geboten. Schließlich bleibt angesichts der stetig wachsenden digitalen Kommunikation die Beherrschung von SSH entscheidend für einen sicheren und zuverlässigen Datenaustausch.

Bei Bluevps sind wir stolz darauf, eine Vielzahl von Linux-VPS-Paketen anzubieten, die darauf zugeschnitten sind, Ihnen zu helfen, die außergewöhnlichen Qualitäten von SSH optimal zu nutzen. Unser Ziel ist es, herausragende Hosting-Erlebnisse mit hochwertigen Linux-VPS-Lösungen zu bieten, bei denen Sicherheit und Leistung an erster Stelle stehen.

Share

About the authors


scale 1
Ready to scale?

Start for free and unlock high-performance infrastructure with instant setup.

Get started arrow button

Help us improve — share your feedback

Your opinion helps us build a better service.