EMZETT.
Login

SSH-TRANS

Kurz: Das SSH-Transport-Subprotokoll — die unterste Schicht von SSH, die die verschlüsselte, integritätsgesicherte Verbindung zwischen Client und Server herstellt, bevor überhaupt ein Nutzer authentifiziert wird.

Genauer: SSH-TRANS handelt beim Verbindungsaufbau den Verschlüsselungsalgorithmus aus, führt den Schlüsselaustausch durch und prüft den Server-Host-Key, damit der Client sicher sein kann, mit dem richtigen Server zu sprechen (Schutz vor Man-in-the-Middle). Erst auf dieser gesicherten Verbindung setzt SSH-USERAUTH auf, um den Nutzer zu authentifizieren.

Im Detail

Der Ablauf beim Verbindungsaufbau folgt grob diesem Muster:

1. TCP-Verbindung zum Server aufbauen (Port 22)
2. Protokollversionen austauschen ("SSH-2.0-OpenSSH_9.0" o.ä.)
3. Algorithmen aushandeln (welche Verschlüsselung, welcher Schlüsselaustausch)
4. Schlüsselaustausch durchführen -> gemeinsamer Sitzungsschlüssel entsteht
5. Server-Host-Key prüfen (kennt der Client diesen Server schon? "known_hosts")
6. Ab hier: komplette Verbindung verschlüsselt

Der Server-Host-Key-Check in Schritt 5 ist entscheidend für die Sicherheit: Beim allerersten Verbindungsaufbau zu einem neuen Server zeigt SSH einen Fingerabdruck an (“Are you sure you want to continue connecting?”) — bestätigt der Nutzer diesen, wird der Schlüssel lokal in ~/.ssh/known_hosts gespeichert. Bei jeder weiteren Verbindung vergleicht der Client den vom Server präsentierten Schlüssel mit dem gespeicherten — weicht er plötzlich ab, warnt SSH lautstark, weil das entweder eine legitime Server-Neuinstallation bedeuten kann oder einen Man-in-the-Middle-Angriffsversuch.

Siehe auch: SSH, SSH-USERAUTH, SSH-CONNECT, Handshake