SSH-Funktionen: Sichere Shell, sichere Umgebung für Datenübertragungen

Nov 28, 2022 0 Minuten lesen 2256
Artyom Mukhopad DevOps Engineer
SSH-Funktionen: Sichere Shell, sichere Umgebung für Datenübertragungen

Die sichere Fernarbeit an einem PC in einer ungeschützten Umgebung ist dank SSH (Secure Shell) - einem Fernverwaltungsprotokoll - möglich. Es wurde entwickelt, um Betriebssysteme zu verwalten und TCP-Verbindungen aus der Ferne zu tunneln. Die Datensicherheit wird durch die Verwendung verschiedener Verschlüsselungsalgorithmen gewährleistet.

Was das SSH-Protokoll (Secure Shell) ist

Das Protokoll Secure Shell wurde 1995 von Tatu Ylenen, einem Mitarbeiter der Technischen Universität Helsinki, entwickelt. Ursprünglich wurde die Lösung als Alternative zu TELNET, FTP und rsh geschaffen, die als unvollkommen bekannt waren, was die Gewährleistung der Vertraulichkeit bei der Authentifizierung anging. Ende 1995 probierten etwa zwanzigtausend Benutzer die erste Version des SSH-Protokolls aus, und fünf Jahre später war diese Zahl auf zwei Millionen angewachsen. Sechs Jahre später, im Jahr 2006, wurde ein Update des Protokolls veröffentlicht, das die Unterstützung des Diffie-Hellman-Schlüsselaustauschs sowie die Verifizierung durch MAC-Signaturen ermöglichte. Die Aktualisierung war mit der ersten Version kompatibel und garantierte eine verbesserte Sicherheit, während eine beliebige Anzahl von Sitzungen über eine Verbindung gestartet werden konnte.

Wie SSH funktioniert

Das Protokoll SSH wird für den Zugang zu Servern, den Fernzugriff auf die Konsole oder das Terminal verwendet. Damit können Sie den Befehlsinterpreter eines entfernten Rechners steuern. Es ist ein effektives Werkzeug zum Einbinden verschiedener Dateisysteme und zur Portweiterleitung. Das gängigste Tool für SSH Linux, BSD, Windows ist OpenSSH. 

Das Protokoll basiert auf einer Client-Server-Architektur, die ein Zwei-Komponenten-Gerät rechtfertigt: Die Architektur hat einen Client- und einen Server-Teil. Das Zielgerät wird über einen regulären SSH-Server gesteuert, der eingehende Nachrichten von der Client-Seite auf Port 22 empfängt. Nachdem der Befehl empfangen und die Authentifizierung durchgeführt wurde, wird der Client gestartet. Sie können den Port bei Bedarf ändern. Um eine SSH-Verbindung herzustellen, müssen Sie eine Verbindung zum Server initiieren. Dadurch wird die Verbindung gesichert und die Server-ID durch Abgleich mit den in der Fingerabdruckdatei gespeicherten früheren Datensätzen validiert. 

Damit SSH funktioniert, müssen Sie also die SSH-Server-Komponenten auf der Hardware installieren, die als Server verwendet wird. Der Client-Teil wird auf dem PC installiert, von dem aus Sie eine Verbindung zum Remote-Server herstellen wollen. Es ist möglich, den Client-Teil für einen Desktop, eine mobile Plattform, einen Server usw. zu implementieren. 

SSH Capabilities: Secure Shell, Safe Environment for Data Transmitting - 01

Überprüfung der Funktionen und Fähigkeiten

Zu den Vorteilen der SSH-Verbindung gehört die Möglichkeit, sicher auf einem PC mit einer Befehlsshell zu arbeiten, sowie die Verwendung verschiedener Verschlüsselungsalgorithmen und beliebiger Netzwerkprotokolle. Dank dieses Protokolls können Dateien beliebiger Größe über einen sicheren Kanal übertragen werden. 

Die Verwendung des SSH-Protokolls eröffnet dem Benutzer die folgenden Möglichkeiten: 

  • sichere Fernanmeldungen. Der Remote-Host ist in diesem Fall die IP-Adresse oder Domäne, mit der Sie sich verbinden müssen. Um sich auf dem Server anzumelden, müssen Sie ein Autorisierungskennwort eingeben oder ein Schlüsselpaar verwenden, woraufhin dem Benutzer der Zugriff auf die Geräteverwaltung gewährt wird; 
  • sichere Dateiübertragung. Die SSH-Verbindung kann zum Tunneln verwendet werden, z. B. wenn Sie Dateien übertragen müssen. Die Besonderheiten der Funktion sind folgende: Der unverschlüsselte Verkehr eines beliebigen Protokolls wird auf einer Seite des SSH-Tunnels verschlüsselt, während die Entschlüsselung am anderen Ende der Verbindung erfolgt. Technisch wird dies durch einen Socks-Proxy, einen VPN-Tunnel oder ein Programm, das SSH-Protokoll-Tunneling unterstützt, realisiert. Wenn die Anwendung nur mit einem Server arbeitet, können Sie den SSH-Client so konfigurieren, dass TCP-Verbindungen durch den SSH-Tunnel an einen bestimmten TCP-Port geleitet werden; 
  • Sichere Remote-Befehlsausführung. Das SSH-Protokoll bietet mehr als nur den interaktiven Modus: Es kann verwendet werden, um Befehle oder Skripte einmalig auf einem entfernten Computer auszuführen. Der Zugang zur Ausführung von Befehlen kann durch ein Schlüsselpaar (wenn der Befehl sofort ausgeführt wird) oder durch die Eingabe eines Passworts erfolgen, das die Ausgabe des Befehls auf der Konsole auslöst; 
  • Schlüssel und Agenten. Wie die Praxis zeigt, garantiert die Verwendung von Schlüsseln ein Höchstmaß an Sicherheit und ermöglicht es, auf Passwörter zu verzichten. Aus diesem Grund gibt das System zwei Schlüssel aus - einen öffentlichen und einen privaten, wobei der erste für die Veröffentlichung und Übertragung zur Verfügung steht, da er ohne den zweiten Teil keinen Wert hat. Der private Schlüssel dient dazu, die verschlüsselten Informationen zu öffnen. Die Eingabe und Speicherung der Schlüssel erfolgt über ein spezielles Programm - den SSH-Agent. Die Funktion hat sich als zuverlässig erwiesen, denn es ist sehr schwierig, die Schlüssel zu knacken. Außerdem werden in diesem Fall keine Informationen auf dem Server gespeichert. Anders als bei der Option mit einem Konto und einem temporären Passwort können Sie einen öffentlichen Schlüssel mehreren Benutzern zuweisen, was die Arbeit des Teams vereinfacht; 
    Zugangskontrolle. Es wurden wirksame Lösungen zur Überwachung und Einschränkung des Benutzerzugriffs auf Remote-Server implementiert; 
  • Portweiterleitung. Wenn es notwendig ist, Netzwerkdaten von Diensten in einem unverschlüsselten Protokoll zu übertragen, Zugang zu geobeschränkten Daten zu erhalten usw., wird eine verschlüsselte SSH-Verbindung zwischen dem Client- und dem Serverteil hergestellt, über die die Ports der Dienste weitergeleitet werden. 

SSH-Befehle

Um sich einfach über SSH mit dem Server zu verbinden, verwenden Sie den folgenden Befehl:
 ssh user@host
Wir sind es gewohnt, uns mit einem entfernten Server zu verbinden und erst dann die erforderlichen Befehle auszuführen, aber mit dem SSH-Dienstprogramm können Sie den gewünschten Befehl sofort ausführen, ohne das Terminal des entfernten Rechners zu öffnen. Zum Beispiel:
 ssh user@host ls

SSH Capabilities: Secure Shell, Safe Environment for Data Transmitting - 02

Schlussfolgerung

Die Verwendung des SSH-Protokolls garantiert die Vertraulichkeit der Daten, die Integrität der Kommunikation und die Möglichkeit, den Zugang zu Konten schnell zu authentifizieren und zu kontrollieren. Dies ist ein zuverlässiges und effektives Werkzeug für eine gut koordinierte Arbeit des Teams aus der Ferne.

Steigern Sie die Effizienz Ihrer technischen und geschäftlichen Prozesse mit professionellen DevOps-Ingenieuren von Software Developemnt Hub. Vereinbaren Sie einen Termin, um Ihr IT-Projekt zu bewerten und zu besprechen!

Categories

Secure Shell SSH

Share

Benötigen Sie einen Projektkostenvoranschlag?

Schreiben Sie uns, und wir bieten Ihnen eine qualifizierte Beratung.

x