PUR

Was ist SSH?


Bild: Illus_man/Shutterstock.com

SSH steht für Secure Shell und ist ein Netzwerkprotokoll, das seinen Nutzern beim Zugriff auf andere Netzwerkrechner in ungesicherten Netzwerken besondere Sicherheits-Features bietet. Was hinter SSH im Detail steckt und wie das Netzwerkprotokoll funktioniert, erfahren Sie in diesem Artikel.

Was ist SSH?

Im Internet spielt vor allem die Sicherheit eine zentrale Rolle: Das Netzwerkprotokoll Secure Shell (SSH) ist deshalb als Sicherheitsverfahren fest im TCP/IP-Protokollstapel, oder vereinfacht gesagt - im Internet - implementiert. Dadurch können gesicherte Verbindungen zwischen Computern hergestellt werden. Das Netzwerkprotokoll gibt es bereits seit 1995 und wird ständig aktualisiert. Der Begriff "Shell" bezeichnet in der Informatik den Teil des Betriebssystems, über den der Anwender auf den Computer zugreifen kann. In der Praxis wird darunter meist die Kommandozeile bzw. das Terminal in Windows, Linux oder macOS verstanden.

Als Netzwerkprotokoll bietet SSH eine Kennwortauthentifizierung mit hoher Sicherheit sowie Möglichkeiten zur Authentifizierung mittels öffentlicher Schlüssel zwischen zwei Computern in potenziell unsicheren Netzwerken. In Netzwerkadministrationen wird Secure Shell auch häufig für die Remote-Verwaltung von Systemen genutzt. Dadurch lassen sich beispielsweise Firmennetzwerke sicher verwalten.

SSH wird aber nicht nur für verschlüsselte Verbindungen eingesetzt, sondern stellt auch sicher, dass Verbindungen ausschließlich zwischen den vorgesehenen Computern möglich sind. So werden ungewollte Zugriffe von anderen Rechnern, auch als Man-in-the-Middle-Angriff bezeichnet, verhindert. Bisher wurde der Zugriff auf den entfernten Rechner stets über die Kommandozeile aufgebaut, doch zunehmend werden auch Zugriffe per Virtual-Network-Computing möglich. Dabei wird der entfernte Computer über eine grafische Benutzeroberfläche gesteuert. Weitere Einsatzmöglichkeiten von SSH sind:

  • Serververwaltung
  • Sicheres Übertragen von Dateien
  • Sicheres Back-up-Management
  • Ende-zu-Ende-Verschlüsselung zwischen zwei Rechnern

Und wie funktioniert Secure Shell?

SSH nutzt verschiedene Verschlüsselungs- und Authentifizierungsmethoden, um zu verhindern, dass Datenübertragungen ungewollt ausgelesen oder manipuliert werden können. Zunächst müssen SSH-Server und SSH-Client sich gegenseitig authentifizieren. Dabei sendet der Server ein verschlüsseltes Zertifikat an den Client. Dadurch wird sichergestellt, dass kein Dritter das Zertifikat auslesen und sich so als weiterer Teilnehmer einloggen kann. Nach einmaligem Austausch des Zertifikates kann kein weiterer Teilnehmer mehr über den Server Kontakt aufnehmen.

Nach der Serverauthentifizierung erfolgt die Client-Authentifizierung, bei der der Client dem Server gegenüber seine Zugangsberechtigung beweisen muss. Dafür kann ein Passwort verwendet werden. Dieses wird dann verschlüsselt auf dem Server gespeichert. Die Passwort-Methode ist zwar sicher, hat aber auch den Nachteil, dass Sie bei jeder Anmeldung an einen anderen Server das Passwort erneut eingeben müssen. Als alternative Methode der Client-Authentifizierung wird deshalb die Verwendung des Schlüsselpaares Public Key und Private Key empfohlen. Dabei wird zunächst der sogenannte Private Key erzeugt, der ausschließlich auf dem lokalen Rechner gespeichert wird und absolut geheim ist. Der Private Key wird zusätzlich mit einem Passwort gesichert. Soll nun eine SSH-Verbindung aufgebaut werden, muss zunächst das Private-Key-Passwort eingegeben werden, sodass der Zugang zu selbigem freigegeben wird. Der Public Key hingegen wird vom Server erstellt und bildet quasi das Gegenstück zum Private Key. Mithilfe des Private Keys des Clients kann der gesendete Public Key des Servers entschlüsselt werden - und so eine ordnungsgemäße Verbindung aufgebaut werden. Während einer SSH-Sitzung muss auf diese Weise nur einmalig das Private-Key-Passwort eingegeben werden, um eine Verbindung zu beliebig vielen Servern aufzubauen.

Mehr zum Thema: