Under Construction
Authentifizierung mit SSH-Zertifikaten
OpenSSH verwendet für die Authentifizierung von Hosts standarmäßig Keys. Für die Authentifizierung von Benutzern ist dies optional, per Default können auch Passwörter verwendet werden.
Die Verwendung von Public- und Private-Keys ohne Zertifikate hat einige Nachteile:
- Der Public-Key des Ziel-Systems muss auf dem lokalen System schon bekannt sein, ansonsten muss er manuell bestätigt werden. Dies birgt ein Sicherheitsproblem.
- Der Public-Key des lokalen Benutzers muss auf dem Ziel-System schon bekannt sein (z.B. in ~/.ssh/authorized_keys), sonst kann das Public-Key-Verfahren nicht verwendet werden.
- Die Keys haben keinen Gültigkeitszeitraum, d.h. ein Key kann auch in vielen Jahren noch verwendet werden.
- Es können nicht so einfach Einschränkungen in der Nutzung der Keys erzwungen werden.
Die Verwendung von SSH-Zertifikaten löst all diese Probleme und sorgt zusätzlich für eine deutliche Vereinfachung bei der Handhabung.
Problem: Die erste SSH-Verbindung zu einem neuen Rechner (TOFU)
SSH Host-Zertifizierungsstelle
SSH-Server: Erzeugen von SSH Host-Zertifikaten
SSH-Client: Einrichten der Host-Key Überprüfung mit dem Public-Key der Host-Zertifizierungsstelle
SSH Host-Zertifikate auf Rechner beschränken (Principals)
Gültigkeitszeitraum von SSH Host-Zertifikaten beschränken
Widerrufen von SSH Host-Keys (Key Revocation List)
