Mittels Secure Shell (SSH) ist es möglich, eine verschlüsselte Verbindung zur Kommandozeile eines entfernten Servers herzustellen. Durch diesen Remote-Zugang können alle Systeme des betroffenen Rechners administriert und konfiguriert werden. Die entsprechenden Befehle werden allerdings nicht lokal über das Kommandozeileninterface des Computers, sondern über den Webserver ausgeführt. Wie SSH funktioniert und welche Bedeutung es in der Praxis hat, zeigt der folgende Beitrag.
Was ist SSH?
Im Jahr 1995 entwickelte der Finne Tatu Ylönen das Netzwerkprotokoll SSH-1. Nachdem einige Sicherheitslücken in der ersten Version bekannt waren, wurde Secure Shell in einer zweiten und später in einer dritten Version veröffentlicht.
Das Protokoll gilt als sichere Alternative zu Diensten wie Telnet oder Rlogin, die Nutzerdaten, Passwörter oder andere sensible Informationen im Klartext übertragen. SSH dagegen baut eine verschlüsselte Verbindung zum Zielserver auf. Es dient vorrangig dazu, die Wartung eines Servers aus der Ferne vornehmen zu können.
Hierfür bietet es Funktionen, die es ermöglichen,
- dass Administratoren sich ins Zielsystem einloggen,
- sie textbasierte Befehle eingeben, ausführen und übermitteln und
- Dateien und Ordner kopieren oder bearbeiten können.
Anfänglich war das Netzwerkprotokoll nur für Linux oder unixartige Systeme konzipiert. Doch inzwischen unterstützen auch Windows und MacOS einen SSH-Client sowie einen entsprechenden Server.
Funktionsweise von Secure Shell
Damit das Protokoll funktioniert, muss auf dem Zielrechner ein SSH-Server installiert werden. Auf diesen kann mittels eines entsprechenden Clients von jedem beliebigen System aus zugegriffen werden.
Um unberechtigten Zugang zu vermeiden, arbeitet die Software mit einem Authentifizierungssystem, welches aus einem Public Key und einem Private Key besteht. Eine zusätzliche Sicherheitsschicht besteht in der Eingabe eines Passworts durch den Client. Neuere Versionen erlauben auch eine Zwei- oder Multi-Faktor-Authentifizierung. Darüber hinaus sollten Anwender auf die Einhaltung der üblichen Sicherheitsmaßnahmen für Server achten.
Nach erfolgreicher Authentifizierung durch den Client erzeugt das Protokoll einen Session-Key, über den die gesamte Übertragung verschlüsselt wird. Dabei unterstützt das System viele verschiedene Verschlüsselungsverfahren wie SEED, IDEA oder AES. Welche zur Anwendung kommt, kann vom Client durch den entsprechenden Konsolenbefehl definiert werden.
Standardmäßig stellt Secure Shell die Verbindung mittels TCP über Port 22 her. Da die Authentifizierungsdaten erst nach erfolgreicher Erstellung des Session-Keys übermittelt werden, ist die komplette Datenübertragung verschlüsselt und somit vor Man-in-the-Middle-Angriff geschützt.
Anwendungsbeispiele
SSH wird hauptsächlich für die Remote-Administration von Servern genutzt. Durch die verschlüsselte Verbindung ist es möglich, auch sensible Daten oder Inhalte zu übermitteln. Seit der zweiten Version des Netzwerkprotokolls ist die Übertragung nicht mehr nur auf textbasierte Konsolenbefehle beschränkt. Mit den Protokollen SFTP (Secure File Transfer Protocol) und SSHFS (Secure Shell File System) lassen sich einzelne Dateien oder auch ganze Dateisysteme bearbeiten und verschlüsselt übertragen.
Somit ist SSH insbesondere für IT-Unternehmen mit verschiedenen Standorten von Bedeutung. Das Netzwerkprotokoll ermöglicht es den verschiedenen Clients auf das zentrale System mit Root-Rechten zuzugreifen. Eine mögliche Problembehebung oder Wartung des Systems kann somit von jedem Standort ausgeführt werden.
Doch auch Kunden von Webhosting-Anbietern können mittels Secure Shell sicher auf ihre gebuchte Hardware zugreifen und Konfigurationen vornehmen. Ohne ein Netzwerkprotokoll wie SSH wäre das Hosten dedizierter Server nicht möglich.
Was kostet SSH?
Das Netzwerkprotokoll ist grundsätzlich in zwei Lizenzmodellen erhältlich. Es gibt eine freie Open-Source-Variante (OpenSSH), welche alle grundlegenden Funktionen abdeckt. Für professionelle Anwender bietet die Firma SSH Communications Security eine kommerzielle Lösung.
In den kostenpflichtigen Lizenzen sind unter anderem ein 24/7-Support sowie eine Auswahl von verschiedenen kryptografischen Protokollen enthalten. Die Client-Software ist mit den gängigsten Betriebssystemen wie Windows, Linux und MacOS kompatibel und verfügt in allen Versionen über eine grafische Benutzeroberfläche.
Bild von Gerd Altmann auf Pixabay