Secure Shell

Secure Shell, abgekürzt mit SSH und zuweilen auch als Secure Socket Shell bezeichnet, ist ein auf Unix basierendes Kommandozeileninterface bzw. Protokoll, durch das der sichere Zugriff auf einen entfernten Computer ermöglicht wird. Die Technik ist weit verbreitet und wird vornehmlich von Administratoren genutzt, um Server oder Websites aus der Ferne zu warten und zu bearbeiten.

Allgemeine Informationen zum Thema

SSH ist eine Programm-Suite, die sich aus drei Einzeltools zusammensetzt: scp, ssh und slogin. Diese Einzeltools sind die Pendants zu den früher verwendeten rcp, rsh und rlogin. Kommandos über SSH werden grundsätzlich verschlüsselt und zusätzlich abgesichert. So werden beide Enden der Client-Server-Verbindung mit der Hilfe eines digitalen Zertifikats überprüft, die Passwörter sind zudem verschlüsselt.

SSH wendet die RSA-Public-Key-Verschlüsselung an, damit Authentifizierungen und Verbindungen abgesichert werden können. Die verwendeten Verschlüsselungsalgorithmen sind DEA, DES und Blowfish. Nachfolger von SSH ist SSH 2, deren Entwicklung der Internet Engineering Task Force (IETF) zugeschrieben wird[1].

Der Zweck von SSH

Durch SSH wird eine sichere Verbindung innerhalb eines oft unsicheren Netzes wie etwa dem Internet aufgebaut. Dritte können damit also nicht ohne weiteres auf den damit zusammenhängenden Datenstrom zugreifen. Zwar gab es auch vor der Entwicklung von SSH bereits Möglichkeiten, zwischen zwei Rechnern eine Verbindung herzustellen. Doch Anwendungen wie rlogin, Remote Shell oder Telnet waren allesamt sehr unsicher und somit leicht angreifbar.

Neben der verschlüsselten Verbindung sorgt SSH dafür, dass ausnahmslos Verbindungen zwischen den ausgewählten Computern hergestellt werden. Sogenannte Man-in-the-Middle-Attacken sind daher nicht möglich. Zunächst erfolgte der Zugriff auf den entfernten Rechner lediglich über die Kommandozeile, später kam Virtual Network Computing (VNC) hinzu. Damit kann der entfernte Rechner gespiegelt und über den eigenen Computer gesteuert werden. Für folgende Bereiche bietet sich der Einsatz von SSH an:

  • Die sichere Übermittlung von Dateien
  • Die Verwaltung von Servern, die den lokalen Zugriff nicht erlauben
  • Das sichere Erstellen von Back-ups
  • Die Fernwartung anderer Computer
  • Die Verbindung zweier Rechner mittels einer Ende-zu-Ende-Verschlüsselung

SSH und OpenSSH

Zunächst wurde SSH im Jahre 1995 als Open Source-Projekt entwickelt. Der Entwickler Tatu Ylönen gründete jedoch im selben Jahr eine Firma und arbeitete am Protokoll weiter. So entwickelte sich ein offenes Projekt zu einer proprietären Software. Teile des Netzes reagierten auf diese Praxis mit Widerstand, und so wurde die offene Abspaltung OpenSSH entwickelt. Beide Systeme bestanden von diesem Zeitpunkt an parallel zueinander.

Hinsichtlich der Funktionalität unterscheiden sich SSH und OpenSSH kaum voneinander. Unterschiede gibt es aber bei den Kosten und beim Support. Während die SSH Communication Security einen kostenpflichtigen 24/7-Support bietet, kann OpenSSH eine große Gemeinde vorweisen, innerhalb derer zahlreiche Nutzer an dem Projekt stetig arbeiten und zur Weiterentwicklung beitragen[2].

Die grundlegende Funktionsweise von SSH

Der Nutzer von SSH hat die Wahl, entweder über einen privaten Schlüssel oder ein normales Passwort authentifiziert zu werden. Wählt er den privaten Schlüssel, wird der öffentliche Schlüssel auf dem Server hinterlegt. Entscheidet er sich dagegen für ein normales Passwort, ist grundsätzlich seine Interaktion nötig. Bei der Public Key Authentifizierung kann sich der Computer wiederum auch ohne Benutzerinteraktion auf dem Server einloggen, es ist nicht nötig, ein Passwort im Klartext auf dem Client zu speichern.

In einer weiteren Version von SSH wird auch die Mehrfaktor Authentifizierung unterstützt. Bei dieser Variante wird eine Kombination unterschiedlicher Verfahren genutzt, um die Authentifizierung durchzuführen. Wenn diese erfolgreich ist, wird durch die Software ein geheimer Schlüssel generiert, der die gesamte Kommunikation über verschlüsselt wird. Abhängig von der Benutzerführung und der übertragenen Datenmenge ist es möglich, dass dieser Vorgang mehrmals wiederholt wird. Welcher Algorithmus angewendet wird, hängt von der jeweils verwendeten Version ab. SSH 2 verwendet zum Beispiel den AES, der eine Schlüssellänge von 128 Bit hat, während SSH 3 den proprietären Algorithmus CryptiCore nutzt. Dieser hat Vorteile hinsichtlich der Geschwindigkeit, nicht wenige Experten bezweifeln allerdings, dass die notwendige Sicherheit vorhanden ist[3].

Alternativen zu SSH

Neben der oben erwähnten Open-Source-Version gibt es weitere Alternativen zu SSH. Zu ihnen gehören zum Beispiel Poderosa, DOSBox, ZOC Terminal, Classic Shell, PuTTY und Bitvise SSH Client (früher unter dem Namen Tunnelier bekannt).

Unterschiede gibt es beim Funktionsumfang der genannten Alternativen, aber auch die Bedienbarkeit und das Design unterscheiden sich voneinander. Poderosa beispielsweise fällt durch ein aufgeräumtes Design auf und bietet dem User die Möglichkeit, mehrere Verbindungen gleichzeitig und über unterschiedliche Tabs aktiv zu halten. Mit Classic Shell lassen sich zahlreiche alte Windows-Funktionen, die heute nicht mehr aktuell sind, wieder nutzen, was hin und wieder sehr hilfreich sein kann[4].

Bedeutung für das SEO

Insbesondere für Administratoren, die häufig mit entfernten Rechnern zu tun haben, stellt SSH eine Erleichterung ihrer Arbeit dar. Doch auch andere User, die mit mehreren Computern zu tun haben, können von dieser Technik profitieren. Ob SSH oder die Open-Source-Variante genutzt wird, oder ob auf eine der Alternativen zurückgegriffen wird, hängt von den persönlichen Anforderungen und den Funktionalitäten der angebotenen Programme ab.

Einzelnachweise

  1. Secure Shell SSH: Definition searchsecurity.de. Abgerufen am 19.12.2018
  2. Secure Shell, SSH ionos.de. Abgerufen am 19.12.2018
  3. SSH: Secure Shell, Glossar onlinesolutionsgroup.de. Abgerufen am 19.12.2018
  4. SSH Secure Shell: 6 Alternativen im Überblick netzwelt.de. Abgerufen am 19.12.2018

Weblinks