SSH Grundlagen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Grundlagen von SSH

  • SSH steht für Secure Shell und ist ein Netzwerkprotokoll, das für den sicheren, verschlüsselten Zugriff auf entfernte Computer (Server) verwendet wird.
  • Es dient als moderner Ersatz für unsichere Protokolle wie Telnet oder FTP.

Kernfunktionen von SSH

Das Protokoll bietet drei wesentliche Schutzmechanismen für die Kommunikation in Netzwerken:

  • Datenschutz: Alle übertragenen Daten werden verschlüsselt, um sie vor dem Mitlesen durch Dritte zu schützen.
  • Integrität: Es wird sichergestellt, dass die Daten während der Übertragung nicht manipuliert wurden.
  • Authentifizierung: Identitätsnachweis von Client und Server, um sicherzustellen, dass man mit dem richtigen Gegenüber kommuniziert.


Funktionsweise und Architektur

SSH nutzt ein Client-Server-Modell. Ein lokaler Rechner (SSH-Client) baut eine Verbindung zu einem entfernten Rechner (SSH-Server) auf. Die Architektur ist in drei Schichten unterteilt:

  • Transportschicht: Regelt die Verschlüsselung, die Kompression und den Austausch der Host-Schlüssel. Standardmäßig wird Port 22 verwendet.
  • Authentifizierungsschicht: Überprüft die Identität des Benutzers gegenüber dem Server.
  • Verbindungsschicht: Ermöglicht die gleichzeitige Nutzung mehrerer Kanäle über eine einzige Verbindung (z. B. für Terminal-Sitzungen und Dateiübertragungen via SFTP).

Authentifizierungsmethoden

Es gibt zwei primäre Wege, sich an einem SSH-Server anzumelden:

Passwortbasierte Authentifizierung

Dies ist die klassische Methode. Der Benutzer gibt sein Passwort ein, welches verschlüsselt übertragen wird. Diese Methode ist jedoch anfällig für Brute-Force-Angriffe.

Public-Key-Authentifizierung

Dies ist die empfohlene und sicherere Methode. Sie basiert auf einem kryptografischen Schlüsselpaar:

  • Privater Schlüssel (Private Key): Bleibt auf dem eigenen Rechner und muss streng geheim gehalten werden. Er dient als digitaler Ausweis.
  • Öffentlicher Schlüssel (Public Key): Wird auf dem Zielserver hinterlegt.

Wenn eine Verbindung aufgebaut wird, prüft der Server, ob der Client den passenden privaten Schlüssel besitzt. Ohne diesen Schlüssel ist ein Login unmöglich, selbst wenn das Passwort bekannt wäre.

Wichtige Anwendungsbereiche

  • Fernverwaltung: Systemadministratoren steuern Server über die Kommandozeile.
  • Sicherer Dateitransfer: Protokolle wie SFTP (SSH File Transfer Protocol) nutzen SSH zur Absicherung.
  • Tunneling: Verschlüsselung von ungesichertem Datenverkehr (z. B. Datenbankzugriffe) durch einen SSH-Tunnel.
  • Automatisierung: Skripte können sicher Befehle auf entfernten Systemen ausführen.