Secure Shell: Was ist SSH?
Wir erklären Ihnen auf einfache Weise die Vorteile und Funktionen von Secure Shell.
In Kürze
Secure Shell (SSH) ist eine Möglichkeit, über das Internet eine sichere Verbindung zu einem entfernten Computer oder Server herzustellen. Es verschlüsselt alle Daten, die zwischen den beiden Geräten übertragen werden, sodass es schwierig ist, sensible Informationen abzufangen oder zu stehlen. SSH wird häufig von Systemadministrator:innen und Entwickler:innen verwendet, um Server zu verwalten und Remote Tätigkeiten auszuführen.
SSH steht für Secure Shell, eine sichere Möglichkeit um Dateien von Ihrem Computer zu einem Server zu übertragen.
Lassen Sie uns in der Zeit zurückgehen und einen Blick auf die Geschichte von SSH werfen. Vor SSH gab es keine Möglichkeit, sich auf sichere Art und Weise mit einem weit entfernten Computern zu verbinden. Klar, überhaupt eine Verbindung mit einem Computer aufbauen zu können, der nicht genau neben einem Stand, war bereits eine fantastische Erfindung. Das Problem war der Mangel an Sicherheit zwischen beiden.
Sie müssen es sich in etwa so vorstellen: Sie haben eine wichtige Datei, die Sie mit einem Kollegen teilen wollen. Während Sie die Datei zu Ihrem Kollegen senden, kann sie von jedem geöffnet und gelesen werden. Oder etwas technischer: Jeder mit einem Internetanschluss kann die Datei abfangen und lesen.
Telnet – die Anfänge von SSH
Telnet ist ein Netzwerkprotokoll, das für Remote Access verwendet wird, also wenn auf einen entfernten Computer zugegriffen und Befehle ausgeführt werden, ohne dass man in der Nähe ist. Wie Remote-Desktop-Software. Das Problem mit Telnet sind Sicherheitslücken.
Im Jahr 1995 beschloss der Gründer von SSH die Telnet Software zu verbessern. Er ersetzte sie durch eine sicherere Möglichkeit des Remote Access, bei welcher die Dateien nicht von Dritten abgefangen werden konnten. Diese neue Software hieß SSH. Mit dem SSH Protokoll können Nutzer ohne Sicherheitsrisiken auf Ihre Remote Server zugreifen.
Die Sicherheit einer SSH Verbindung
Lassen Sie uns zur Erklärung des Prozesses hinter SSH noch einmal die Kollegen-Analogie nutzen:
Stellen Sie sich vor, Sie möchten Ihrem Kollegen wichtige Unterlagen schicken. Diese legen Sie in eine Kiste und verschließen sie mit einem Schloss. Somit kann niemand im Versandunternehmen die Kiste öffnen.
Bei Ihrem Kollegen angekommen versieht er die Kiste ebenfalls mit einem Schloss und schickt die Kiste an Sie zurück. Sie entfernen Ihr Schloss und schicken die Kiste an Ihren Kollegen. Zum Schluss muss dieser nur noch sein Schloss entfernen und kann die Dokumente lesen, ohne dass jemand anderes die Möglichkeit hatte es ihm gleichzutun.
Würden wir das in der Realität machen, wäre es sehr aufwendig. Glücklicherweise ist der tatsächliche technische Prozess hinter SSH einfach. Im Grunde genommen muss die Person, die auf den Remote Server zugreift, nur authentifiziert werden. Das ist meist innerhalb einer Sekunde erledigt.
Wie funktioniert SSH und was macht SSH?
SSH nutzt verschiedene Verbindungen wie beispielsweise eine TCP Verbindung (Transmission Control Protocol), um sich mit einem Server (oder Computer) zu verbinden. Die TCP Verbindung wird als zuverlässige Transportschicht für SSH verwendet.
Sobald die Verbindung hergestellt ist, überträgt SSH die Dateien als Pakete, in denen die Dateien verpackt sind. Bis auf die Paketlänge, welche angibt wie viel Daten übertragen werden, sind alle Daten in den Paketen verschlüsselt.
Der Message Authentication Code MAC (zu Deutsch Nachrichtenauthentifizierungscode), welcher die Integrität der übertragenen Nachricht bestätigt, ist Teil der Pakete und wird vom Server und Client selbst festgelegt. Am Ende werden die Pakete vom Server entschlüsselt.
So können Sie auch über ungesicherte Netzwerke wie das Internet auf einen entfernten Computer zugreifen, denn SSH verschlüsselt die Datenpakete, nicht die Verbindung zwischen beiden Computern.
SSH Verbindung
Die SSH Verbindung wird vom Client initiiert, welcher sich mit dem SSH Server verbindet. Sobald die Verbindung eingeleitet wird und sich der Computer mit dem Server verbindet, wird ein Kanal geöffnet. Über diesen Kanal können Sie kommunizieren und Dateien übertragen. Als Nutzer können Sie unterschiedliche Kanäle oder Verbindungen öffnen und dadurch mehrere Multiplex-Verbindungen ermöglichen.
SSH Multiplexing
Möchten Sie über eine TCP Verbindung mehrere SSH Verbindungen nutzen? Mit SSH Multiplexing gibt es eine praktische Funktion die, wenn richtig ausgeführt, die Geschwindigkeit von SSH erhöhen kann. Zudem können damit auch andere Aspekte von SSH verbessert werden, indem etwa Befehle schneller ausgeführt werden.
Wir zeigen Ihnen, wie Sie eine SSH-Verbindung oder einen Kanal öffnen können.
- Sobald Sie mit dem Server verbunden sind, sendet der Server eine Nachricht á la „Ich unterstütze diese SSH Version“. Dabei bezieht er sich auf Ihren Computer und das aktive SSH.
- Automatisch werden Informationen hinsichtlich der Kompatibilität des Servers und Computers ausgetauscht.
- Zusätzlich wird festgelegt, welche Methode verwendet wird, um verschlüsselte Daten und Nachrichten zu übertragen. Ihr Computer verhandelt also im Grunde genommen mit dem Server. Sobald alles beschlossen ist, authentifizieren Sie sich.
- Durch die Eingabe Ihres Passwortes erkennt Sie der Server. Sobald die Authentifizierung beendet ist, öffnet der Server einen Kanal und Sie haben eine Secure Shell Verbindung.
SSH-Key
SSH nutzt drei Verschlüsselungsmethoden für die Datenübertragung. Damit Sie ein besseres Verständnis für die Thematik gewinnen folgt eine kurze Erklärung jeder Methode.
Symmetrische Verschlüsselung
Bei der symmetrischen Verschlüsselung wird der gleiche Schlüssel für Ver- und Entschlüsselung verwendet. Jeder, der Zugang zu dem Schlüssel hat, könnte auch auf die übertragenen Daten zugreifen. Für eine sichere symmetrische Verschlüsselung wird deshalb ein Schlüssel-Austausch-Verfahren benötigt.
Wenn eine dritte Partei den Schlüssel erhält, kann Sie die Nachrichten dadurch nicht entschlüsseln, da das Schlüssel-Austausch-Verfahren unbekannt ist. Anhand diesem werden allerdings von den beiden Computern (Server und Client) der geheime Schlüssel festgelegt, der für einen Zugang zu den Daten benötigt wird.
Asymmetrische Verschlüsselung
Die asymmetrische Verschlüsselung nutzt zwei SSH-Keys, einen Private Key und einen Public Key. Das System funktioniert nur dann, wenn der Private Key geheim bleibt, denn nur er kann die Nachrichten entschlüsseln, die mit dem Public Key verschlüsselt worden. Beide Schlüssel arbeiten also zusammen.
Sobald eine Verbindung hergestellt wurde, nutzt der Server den Public Key zur Authentifizierung. Kann der Client die Nachricht entschlüsseln, hat er infolgedessen auch den Private Key und die SSH-Sitzung kann beginnen.
Hashing
Hashfunktionen sind wie ein Barcode. Die letzten Zahlen im Barcode ergeben sich aus den anderen Zahlen und selbiges gilt fürs Hashing. Ändert man eine Zahl im Barcode, ändert sich ebenso die letzte Zahl. Dieses Prinzip wird beim Hashing für die ganze Datei angewandt, die Sie übertragen möchten.
Die Hashfunktion erstellt eine lange Zahl im Hexadezimalformat (Hashwert), die alles abbildet, was in der Datei enthalten ist. Dadurch kann überprüft werden, dass die Datei unversehrt ist und genau das enthält, was sie soll.
Der Unterschied zwischen Hashing und den beiden anderen Verschlüsselungsmethoden ist, dass Hashing unumkehrbar ist. Es kann also nicht entschlüsselt werden.
SSH verwendet Hashing, um die Echtheit von Nachrichten zu überprüfen, um also sicherzustellen, dass sie nicht abgefangen und modifiziert wurden. Wenn Sie eine Datei versenden wollen, wird der Hashwert zusammen mit der Datei übertragen, um zu bestätigen, dass es sich um die echte Datei handelt.
SSH bei one.com
SSH nutzt einen starken Verschlüsselungsalgorithmus, um eine sichere Datenübertragung zwischen zwei Parteien zu ermöglichen.
Wenn Sie Ihr Webhosting bei uns haben und das Enthusiast-Paket (oder höher) nutzen, können Sie SSH einfach über Ihr one.com Kontrollpanel aktivieren. Anders als Mac und Linux Nutzer, welche einfach das Terminal nutzen können, müssen Windows Nutzer einen speziellen SSH-Client installieren. Die kostenlose Software PuTTY ist für viele die erste Wahl.