Was ist SSH? SSH und seine Verschlüsselungstechniken einfach erklärt
Jul 15, 2026
/
Faradilla A.
/
8 Min. Lesezeit
SSH (Secure Shell Protocol) ist ein verschlüsseltes Protokoll für den Zugriff auf und die Verwaltung von Remote-Systemen, beispielsweise eines Servers, über das Internet. Es ähnelt anderen Tools für den Fernzugriff wie Telnet, bietet jedoch einen Mechanismus zur Authentifizierung von Hosts sowie für die sichere Datenübertragung.
SSH funktioniert, indem es Ihrem lokalen Computer Zugriff auf ein bestimmtes Benutzerkonto auf dem Remote-System gewährt. Sie können diese Verbindungsanfrage mit dem SSH-Befehl in einem Terminal oder mit einer Anwendung wie PuTTY senden.
SSH verwendet drei Arten der Verschlüsselung: symmetrische Verschlüsselung, asymmetrische Verschlüsselung und Hashing. Sie unterscheiden sich darin, wie die jeweilige kryptografische Technik die zwischen dem lokalen Computer und dem Remote-System ausgetauschten Daten verschlüsselt.
Auf Grundlage dieser Verschlüsselungsverfahren stellt SSH die Verbindung nach dem Client-Server-Modell her. Dabei vereinbaren das lokale und das Remote-System die Verwendung des entsprechenden Schlüsselpaars, um die Verbindung symmetrisch zu verschlüsseln.
SSH bietet außerdem zwei Methoden zur Benutzerauthentifizierung: ein herkömmliches Benutzernamen-Passwort-Paar und SSH-Schlüssel. Wie die ausgetauschten Daten werden auch diese über einen verschlüsselten Tunnel übertragen, damit Dritte sie während der Übertragung nicht abfangen können.
Im weiteren Verlauf erfahren Sie mehr über SSH, seine Funktionsweise, seine Einsatzgebiete und die verwendeten Verschlüsselungsmethoden.
Was ist SSH?
SSH oder das Secure Shell Protocol ist ein Protokoll für die Remote-Administration, mit dem Benutzer über das Internet auf ihre Remote-Server zugreifen, diese steuern und Änderungen daran vornehmen können.
Der SSH-Dienst wurde als sicherer Ersatz für das unverschlüsselte Telnet entwickelt und verwendet kryptografische Verfahren, damit die gesamte Kommunikation mit dem Remote-Server verschlüsselt erfolgt. Er bietet einen Mechanismus zur Authentifizierung eines Remote-Benutzers, zur Übertragung von Eingaben vom Client an den Host sowie zur Rückübertragung der Ausgabe an den Client.
Das folgende Beispiel zeigt eine typische SSH-Eingabeaufforderung. Linux- und macOS-Benutzer können sich direkt über das Terminal mit ihrem Remote-Server verbinden. Windows-Benutzer können dafür einen SSH-Client wie PuTTY verwenden. Anschließend können Sie Shell-Befehle genauso ausführen, als würden Sie direkt am Remote-Computer arbeiten.

Wie funktioniert SSH?
Wenn Sie Linux oder macOS verwenden, ist die Nutzung von SSH ganz einfach. Unter Windows benötigen Sie einen SSH-Client, um eine SSH-Verbindung herzustellen. Der bekannteste SSH-Client ist PuTTY.
Wenn Sie macOS oder Linux verwenden, öffnen Sie Ihr Terminal und gehen Sie anschließend wie folgt vor:
Der SSH-Befehl besteht aus drei Bestandteilen:
ssh {user}@{host}Der SSH-Befehl weist Ihr System an, eine verschlüsselte Secure-Shell-Verbindung zu öffnen. {user} steht für das Benutzerkonto, auf das Sie zugreifen möchten. Beispielsweise können Sie sich als Root-Benutzer anmelden, der im Wesentlichen dem Systemadministrator mit uneingeschränkten Berechtigungen entspricht. {host} bezeichnet den Computer, auf den Sie zugreifen möchten. Dabei kann es sich um eine IP-Adresse (z. B. 244.235.23.19) oder einen Domainnamen (z. B. www.xyzdomain.com) handeln.
Nachdem Sie die Eingabetaste gedrückt haben, werden Sie aufgefordert, das Passwort für das angeforderte Konto einzugeben. Während der Eingabe werden keine Zeichen auf dem Bildschirm angezeigt, Ihr Passwort wird jedoch übertragen. Nachdem Sie das Passwort eingegeben haben, drücken Sie erneut die Eingabetaste. Ist das Passwort korrekt, wird ein Remote-Terminalfenster geöffnet.
Warum SSH verwenden?
Wie andere ähnliche Protokolle wird auch SSH zur Verwaltung von Remote-Systemen verwendet, auf die Sie physisch nicht zugreifen können. Besonders hilfreich ist SSH, wenn Sie eine Website oder Webanwendung bei einem Hosting-Anbieter wie Hostinger betreiben, dessen Infrastruktur sich an einem anderen Standort befindet.
Hosting-Anbieter stellen in der Regel ein Control Panel bereit, mit dem Benutzer ihren Server remote verwalten können. Für grundlegende Aufgaben ist es jedoch oft ausreichend, während komplexere Vorgänge eine direkte Interaktion mit dem Server erfordern, die nur über eine Remote-Shell oder ähnliche Protokolle möglich ist.
SSH ist aufgrund seiner Datenverschlüsselung und der höheren Sicherheit beliebter als andere Protokolle. Das ist besonders wichtig, da bei der Verwaltung von Remote-Servern sensible Informationen wie API-Schlüssel oder Autorisierungstoken übertragen werden.
Neben dem Fernzugriff unterstützt SSH auch die sichere Dateiübertragung über das Secure File Transfer Protocol (SFTP) oder das Secure Copy Protocol (SCP). Darüber hinaus wird SSH für Portweiterleitungen (Port Forwarding) oder Tunneling verwendet, um sichere Verbindungen zu Diensten herzustellen, die normalerweise unverschlüsselt sind.
Welche Verschlüsselungstechniken verwendet SSH?
Der wichtigste Vorteil von SSH gegenüber seinen Vorgängern ist der Einsatz von Verschlüsselung, um eine sichere Datenübertragung zwischen Host und Client zu gewährleisten. Dabei bezeichnet der Host den Remote-Server, auf den Sie zugreifen möchten, während der Client der Computer ist, von dem aus Sie auf den Host zugreifen. SSH verwendet drei verschiedene Verschlüsselungstechnologien:
- Symmetrische Verschlüsselung
- Asymmetrische Verschlüsselung
- Hashing
Symmetrische Verschlüsselung
Die symmetrische Verschlüsselung ist ein Verschlüsselungsverfahren, bei dem sowohl der Client als auch der Host denselben geheimen Schlüssel zum Ver- und Entschlüsseln einer Nachricht verwenden. Jeder, der über diesen Schlüssel verfügt, kann die übertragene Nachricht entschlüsseln.

Die symmetrische Verschlüsselung wird häufig auch als Shared-Key- oder Shared-Secret-Verschlüsselung bezeichnet. In der Regel wird nur ein Schlüssel verwendet, gelegentlich auch ein Schlüsselpaar, bei dem sich ein Schlüssel leicht aus dem anderen ableiten lässt.
Symmetrische Schlüssel werden verwendet, um die gesamte Kommunikation während einer SSH-Sitzung zu verschlüsseln. Sowohl der Client als auch der Server leiten den geheimen Schlüssel mit einer vereinbarten Methode ab. Der resultierende Schlüssel wird niemals an Dritte weitergegeben.
Der symmetrische Schlüssel wird mithilfe eines Schlüsselaustauschalgorithmus erzeugt. Besonders sicher ist dieses Verfahren, weil der Schlüssel niemals zwischen Client und Host übertragen wird.
Stattdessen tauschen beide Computer öffentliche Daten aus und verwenden sie, um den geheimen Schlüssel unabhängig voneinander zu berechnen. Selbst wenn ein anderer Computer diese öffentlich ausgetauschten Daten abfängt, kann er den Schlüssel nicht berechnen, da der Schlüsselaustauschalgorithmus nicht bekannt ist.
Es ist jedoch wichtig zu beachten, dass der geheime Schlüssel für jede SSH-Sitzung individuell erzeugt wird und bereits vor der Authentifizierung des Clients vorliegt. Nach der Schlüsselerzeugung werden alle Pakete zwischen den beiden Computern mit diesem geheimen Schlüssel verschlüsselt. Dazu gehört auch das vom Benutzer in die Konsole eingegebene Passwort, sodass die Anmeldedaten stets vor Paket-Sniffern geschützt sind.
Es gibt zahlreiche symmetrische Verschlüsselungsverfahren, darunter AES (Advanced Encryption Standard), CAST128 und Blowfish. Bevor eine sichere Verbindung aufgebaut wird, einigen sich Client und Host auf das zu verwendende Verschlüsselungsverfahren, indem beide Seiten ihre unterstützten Chiffren in der Reihenfolge ihrer Priorität austauschen. Anschließend wird die vom Client bevorzugte Chiffre verwendet, sofern sie auch vom Host unterstützt wird.
Wenn beispielsweise zwei Ubuntu-14.04-LTS-Systeme über SSH miteinander kommunizieren, verwenden sie standardmäßig aes128-ctr als Chiffre.
Asymmetrische Verschlüsselung
Im Gegensatz zur symmetrischen Verschlüsselung werden bei der asymmetrischen Verschlüsselung zwei separate Schlüssel zum Ver- und Entschlüsseln verwendet: der öffentliche Schlüssel (Public Key) und der private Schlüssel (Private Key). Zusammen bilden sie ein öffentlich-privates Schlüsselpaar.

Ein öffentlicher Schlüssel kann von jedem verwendet werden, um eine Nachricht zu verschlüsseln. Entschlüsseln kann sie jedoch nur der Empfänger mit dem passenden privaten Schlüssel – und umgekehrt. Beide Schlüssel bestehen aus langen, scheinbar zufälligen Kombinationen aus Zahlen und Symbolen und sind durch komplexe mathematische Algorithmen miteinander verknüpft.
Um beispielsweise den Absender zu authentifizieren, wird eine Nachricht mit ihrem eigenen privaten Schlüssel verschlüsselt. Daher kann die Nachricht nur mit dem öffentlichen Schlüssel des jeweiligen Absenders entschlüsselt werden. Beachten Sie, dass sowohl Ver- als auch Entschlüsselungsmechanismen automatische Prozesse sind – Sie müssen nichts manuell tun.
Entgegen der weit verbreiteten Annahme wird die asymmetrische Verschlüsselung nicht zum Verschlüsseln einer gesamten SSH-Sitzung verwendet. Stattdessen kommt sie während des Schlüsselaustauschverfahrens der symmetrischen Verschlüsselung zum Einsatz. Vor dem Aufbau einer sicheren Verbindung erzeugen beide Parteien temporäre öffentliche und private Schlüsselpaare und tauschen ihre öffentlichen Schlüssel aus, um den gemeinsamen geheimen Schlüssel zu erzeugen.
Sobald die sichere symmetrische Kommunikation aufgebaut ist, verwendet der Server den öffentlichen Schlüssel des Clients, um eine Authentifizierungsanforderung zu erstellen und an den Client zu senden. Kann der Client die Nachricht erfolgreich entschlüsseln, besitzt er den für die Verbindung erforderlichen privaten Schlüssel – anschließend beginnt die SSH-Sitzung.
Hashing
Einweg-Hashing ist eine weitere Form der Kryptografie, die in Secure-Shell-Verbindungen verwendet wird. Einweg-Hashfunktionen unterscheiden sich von den beiden zuvor beschriebenen Verschlüsselungsverfahren dadurch, dass sie nicht zur Entschlüsselung vorgesehen sind. Sie erzeugen für jede Eingabe einen eindeutigen Wert fester Länge, der kein erkennbares Muster aufweist, das sich ausnutzen ließe.

Es ist einfach, aus einer bestimmten Eingabe einen kryptografischen Hash zu erzeugen. Umgekehrt ist es jedoch praktisch unmöglich, aus einem Hash die ursprüngliche Eingabe abzuleiten. Besitzt ein Client die richtige Eingabe, kann er den kryptografischen Hash erzeugen und dessen Wert vergleichen, um zu überprüfen, ob die Eingabe korrekt ist.
SSH verwendet Hashes, um die Authentizität von Nachrichten zu überprüfen. Dies geschieht mithilfe von HMACs (Hash-based Message Authentication Codes). Dadurch wird sichergestellt, dass der empfangene Befehl in keiner Weise manipuliert wurde.
Während der Auswahl des symmetrischen Verschlüsselungsalgorithmus wird auch ein geeigneter Nachrichtenauthentifizierungsalgorithmus festgelegt. Dieser wird ähnlich ausgewählt wie das Verschlüsselungsverfahren, wie im Abschnitt zur symmetrischen Verschlüsselung erläutert.
Jede übertragene Nachricht muss einen MAC enthalten. Dieser wird aus dem symmetrischen Schlüssel, der Paketfolgenummer und dem Nachrichteninhalt berechnet und außerhalb der symmetrisch verschlüsselten Daten als letzter Bestandteil des Kommunikationspakets übertragen.
Wie nutzt SSH Verschlüsselungstechniken zur Absicherung von Verbindungen?
Zur Absicherung der Verbindung verwendet SSH ein Client-Server-Modell zur Authentifizierung zweier Remote-Systeme sowie Verschlüsselungstechniken, um die zwischen ihnen übertragenen Daten zu schützen.
SSH verwendet standardmäßig TCP-Port 22 (der SSH-Port kann bei Bedarf jedoch geändert werden). Der Host (Server) lauscht auf Port 22 oder einem anderen für SSH konfigurierten Port auf eingehende Verbindungen. Nach erfolgreicher Authentifizierung des Clients stellt der Server die sichere Verbindung her und öffnet die entsprechende Shell-Umgebung.

Der Client beginnt die SSH-Verbindung, indem er den TCP-Handshake mit dem Server initiiert, eine sichere symmetrische Verbindung herstellt, überprüft, ob die vom Server übermittelte Identität mit den zuvor gespeicherten Informationen übereinstimmt (in der Regel in einer RSA-Schlüsseldatei), und anschließend die erforderlichen Benutzeranmeldedaten zur Authentifizierung übermittelt.
Der Verbindungsaufbau erfolgt in zwei Schritten: Zunächst müssen sich beide Systeme auf die Verschlüsselungsstandards für die zukünftige Kommunikation einigen. Anschließend muss sich der Benutzer authentifizieren. Stimmen die Anmeldedaten überein, wird dem Benutzer SSH-Zugriff gewährt.
Versucht ein Client, über TCP eine Verbindung zum Server herzustellen, übermittelt der Server die unterstützten Verschlüsselungsprotokolle und deren Versionen. Unterstützt auch der Client ein passendes Protokoll mit derselben Version, einigen sich beide Seiten darauf und bauen die Verbindung mit dem ausgewählten Protokoll auf. Außerdem verwendet der Server einen asymmetrischen öffentlichen Schlüssel, mit dem der Client die Authentizität des Hosts überprüfen kann.
Sobald dieser Schritt abgeschlossen ist, verwenden beide Parteien den sogenannten Diffie-Hellman-Schlüsselaustauschalgorithmus. Dieser Algorithmus ermöglicht es Client und Server, einen gemeinsamen Verschlüsselungsschlüssel zu berechnen, der anschließend für die gesamte Kommunikationssitzung verwendet wird.
Der Algorithmus funktioniert vereinfacht wie folgt:
- Client und Server einigen sich zunächst auf eine sehr große Primzahl, die keine gemeinsamen Faktoren besitzt. Dieser Wert wird auch als Seed-Wert bezeichnet.
- Anschließend einigen sich beide Parteien auf einen gemeinsamen Verschlüsselungsmechanismus, der mithilfe des Seed-Werts nach einem festgelegten Algorithmus einen weiteren Satz von Werten erzeugt. Diese Mechanismen, auch Verschlüsselungsgeneratoren genannt, führen umfangreiche Berechnungen auf Grundlage des Seed-Werts durch. Ein Beispiel für einen solchen Generator ist AES (Advanced Encryption Standard).
- Beide Parteien erzeugen unabhängig voneinander eine weitere Primzahl, die als geheimer privater Schlüssel für die Kommunikation dient.
- Dieser neu erzeugte private Schlüssel wird zusammen mit der gemeinsamen Zahl und dem Verschlüsselungsalgorithmus (z. B. AES) verwendet, um einen öffentlichen Schlüssel zu berechnen, der anschließend an den anderen Computer übermittelt wird.
- Anschließend verwenden beide Parteien ihren eigenen privaten Schlüssel, den öffentlichen Schlüssel des jeweils anderen Computers sowie die ursprüngliche Primzahl, um unabhängig voneinander einen gemeinsamen Schlüssel zu berechnen. Das Ergebnis ist auf beiden Seiten derselbe Verschlüsselungsschlüssel.
- Da beide Seiten nun über einen gemeinsamen Schlüssel verfügen, können sie die gesamte SSH-Sitzung symmetrisch verschlüsseln und mit demselben Schlüssel Nachrichten ver- und entschlüsseln (siehe Abschnitt zur symmetrischen Verschlüsselung).
Nachdem die sichere, symmetrisch verschlüsselte Sitzung eingerichtet wurde, muss sich der Benutzer authentifizieren.
Wie authentifiziert SSH Benutzer und gewährleistet einen sicheren Zugriff?
Der letzte Schritt, bevor Benutzern der Zugriff über das SSH-Protokoll gewährt wird, ist die Authentifizierung ihrer Anmeldedaten. Die meisten SSH-Benutzer verwenden dafür ein Passwort. Zunächst geben sie ihren Benutzernamen und anschließend ihr Passwort ein. Diese Anmeldedaten werden sicher über den symmetrisch verschlüsselten Tunnel übertragen, sodass Dritte sie nicht abfangen können.
Obwohl Passwörter verschlüsselt übertragen werden, wird ihre Verwendung für sichere Verbindungen nicht empfohlen. Der Grund dafür ist, dass viele Bots einfache oder standardmäßige Passwörter per Brute-Force-Angriff knacken und so Shell-Zugriff auf Ihr Konto erhalten können. Stattdessen werden SSH-Schlüsselpaare empfohlen.
Dabei handelt es sich um asymmetrische Schlüssel, mit denen sich Benutzer authentifizieren können, ohne ein Passwort eingeben zu müssen. Sie können SSH-Schlüssel mit PuTTY oder mithilfe von Befehlen im Terminal Ihres Systems generieren und anschließend dem Client sowie dem Host hinzufügen.
Nach der Einrichtung können Sie die passwortlose SSH-Anmeldung aktivieren, bei der das Schlüsselpaar zur Benutzerauthentifizierung verwendet wird.

Das Wichtigste auf einen Blick
Das Secure Shell Protocol ermöglicht Ihnen eine effizientere Verwaltung Ihrer Remote-Server, da Sie sicher und nahtlos mit ihnen arbeiten können. Wenn Sie eine extern gehostete Website oder Webanwendung betreiben, können Sie durch den sicheren Umgang mit SSH Zeit und Mühe sparen.
Da Sie über SSH Befehle ausführen und verschiedene Aspekte des Servers direkt verwalten können, bietet Ihnen dieses Protokoll mehr Flexibilität als ein Control Panel. Außerdem ist SSH sicherer und zuverlässiger als ältere Remotezugriffsprotokolle wie Telnet.
Die Einsatzmöglichkeiten von SSH sind in der Praxis vielfältig. Sie können SSH in unterschiedlichen Umgebungen einsetzen und verschiedene Einstellungen anpassen, um die Verbindung an Ihre Anforderungen abzustimmen. Wenn Sie sich mit diesem Protokoll vertraut machen möchten, empfehlen wir Ihnen, die wichtigsten SSH-Befehle selbst auszuprobieren.
Wenn Sie Hostinger nutzen, können Sie über SSH auf alle unsere VPS-Hosting-Angebote zugreifen und dieses Protokoll zur Verwaltung Ihrer Website verwenden. Alternativ steht Ihnen auch das Browser-Terminal zur Verfügung, das eine sichere, SSH-ähnliche Befehlszeilenumgebung direkt im Webbrowser bietet.
Alle Tutorial-Inhalte auf dieser Website unterliegen Hostingers strengen redaktionellen Standards und Normen.
Comments
0 responses