Table of Contents
Secure Shell (SSH)
SSH ist ein Dienst (sshd
) und Protokoll, der dazu dient, eine sichere Verbindung zwischen zwei Computern herzustellen.
Es wird vor allem verwendet, um sich von einem Computer auf einen anderen, meist auf einen Server, einzuloggen und ihn zu steuern.
Die Kommunikation zwischen den Computern wird dabei verschlüsselt, sodass Dritte die übertragenen Daten nicht mitlesen oder verändern können.
Mit SSH kann man nicht nur Befehle ausführen, sondern auch Dateien übertragen (SCP) oder sogar grafische Anwendungen über das Netzwerk ausführen.
SSH wird häufig in der Systemadministration verwendet, um Server aus der Ferne zu verwalten, ohne dass die Sicherheit gefährdet wird.
Ein großer Vorteil von SSH ist, dass es sicherer ist als ältere Protokolle wie Telnet, da es die Daten verschlüsselt und so schützt.
Der standard Port für SSH ist 22
.
Für die Kommunikation setzt SSH auf TCP.
RFCs
- RFC 4250 - The Secure Shell (SSH) Protocol Assigned Numbers
- RFC 8332 - The Secure Shell (SSH) Protocol Assigned Numbers - Update
- RFC 4251 - The Secure Shell (SSH) Protocol Architecture
- RFC 4252 - The Secure Shell (SSH) Authentication Protocol
- RFC 4253 - The Secure Shell (SSH) Transport Layer Protocol
- RFC 4254 - The Secure Shell (SSH) Channel Protocol
- RFC 4419 - The Secure Shell (SSH) Diffie-Hellman Group Exchange
- RFC 6187 - The Secure Shell (SSH) Transport Layer Protocol: Cipher Block Chaining (CBC) Mode
Authentizierung
SSH unterstützt Passwort und Schlüsselbasierte authentizierung.
Für den Schlüsselaustausch setzt SSH auf den Diffie-Hellman-Algorithmus.
Authentizierungs Flow
sequenceDiagram
participant C as Lokaler Client
participant S as Externer Server
activate C
C->>S: KEXINIT - Schlüssel Austausch Initialisierung
deactivate C
activate S
S->>C: KEXINIT - Schlüssel Austausch Initialisierung
deactivate S
activate C
C->>S: KEXDH_INIT - Diffie-Hellman Schlüssel Austausch Initialisierung
deactivate C
activate S
S->>C: KEXDH_REPLY - Antwort auf Diffie-Hellman Initialisierung
deactivate S
activate C
C->>S: KEXECDH_REPLY - Ephemeral Diffie-Hellman Antwort
deactivate C
activate S
S->>C: KEXDH_GEX_GROUP - Gruppeninformation für Diffie-Hellman
deactivate S
activate C
C->>S: KEXDH_GEX_INIT - Diffie-Hellman-Parameter Initiierung
deactivate C
activate S
S->>C: KEXDH_GEX_REPLY - Diffie-Hellman Parameter Antwort
deactivate S
activate C
C->>S: USERAUTH_REQUEST - Benutzer Authentifizierungsanforderung
deactivate C
activate S
alt Nicht Erfolgreich
S->>C: USERAUTH_FAILURE - Fehlerantwort für Authentifizierung
else
S->>C: USERAUTH_SUCCESS - Authentifizierung erfolgreich
end
deactivate S
activate C
Seiten
Dienste
- Dynamic Host Configuration Protocol
- Domain Name System
- Simple Network Management Protocol
- Secure Shell
Protokolle
Tools
Dieses Werk von @SZUT-Dominik, @SZUT-Kevin, @SZUT-Piotr, @SZUT-Niklas steht unter CC-BY-NC-SA-3.0-DE (2025)