EMZETT.
Login

SSH-USERAUTH

Kurz: Das SSH-Subprotokoll, das auf der von SSH-TRANS aufgebauten verschlüsselten Verbindung die eigentliche Authentifizierung des Nutzers übernimmt — z. B. per Passwort oder Public-Key-Verfahren.

Genauer: Nachdem SSH-TRANS eine sichere, verschlüsselte Verbindung zum Server hergestellt hat, prüft SSH-USERAUTH, ob sich der Client gegenüber dem Server ausweisen kann. Beim gebräuchlichsten Verfahren, der Public-Key-Authentifizierung, beweist der Client den Besitz eines privaten Schlüssels, ohne diesen je zu übertragen — der Server kennt dafür nur den passenden öffentlichen Schlüssel. Erst nach erfolgreicher Authentifizierung öffnet SSH-CONNECT die eigentlichen Kanäle (Shell, Portweiterleitung usw.).

Im Detail

SSH-USERAUTH unterstützt mehrere Authentifizierungsverfahren, die der Client der Reihe nach anbieten kann, bis eines erfolgreich ist: password (klassisches Passwort, wird über die bereits von SSH-TRANS verschlüsselte Verbindung übertragen — nicht im Klartext wie bei Telnet), publickey (das gebräuchlichste und sicherste Verfahren, siehe unten) und keyboard-interactive (für Zwei-Faktor-Abfragen oder ähnliche interaktive Prompts).

Bei der Public-Key-Authentifizierung läuft ein kryptografischer Beweis ab, ohne dass der private Schlüssel je übertragen wird: Der Client signiert eine vom Server vorgegebene Zufallsnachricht mit seinem Private Key, der Server prüft diese Signatur mit dem zuvor hinterlegten Public Key — nur wer den passenden privaten Schlüssel besitzt, kann eine gültige Signatur erzeugen. Aus Sicherheitsgründen sollten SSH-Server so konfiguriert sein, dass Passwort-Login nach mehreren Fehlversuchen zeitweise blockiert wird (Schutz vor Brute-Force), oder Passwort-Login gleich ganz deaktiviert und nur Public-Key-Login erlaubt wird.

Siehe auch: SSH, SSH-TRANS, SSH-CONNECT, Public Key, Private Key