# SSH-Zertifikatsbasierter Login mit temporären Benutzer-Zertifikaten Dieses Repository enthält ein Bash-basiertes System zur Nutzung von SSH-Zertifikaten für den Login auf Zielsysteme. Ein zentraler Zertifizierungsserver (CA-VM) signiert temporäre SSH-Schlüssel, die anschließend zum kurzzeitigen Login verwendet werden. ## ✨ Features - Automatisches Erzeugen eines temporären SSH-Keypairs - Zertifizierung des Public Keys über zentrale CA (Zertifikatslaufzeit konfigurierbar) - Automatischer Login auf Ziel-VM mit dem zertifizierten Key - Optionale Unterstützung für agent-forwarding und Passwort-lose Nutzung - Sicherheit durch kurze Zertifikatsgültigkeit (z. B. 5 Minuten) --- ## 📁 Dateien ### `get_cert_and_connect.sh` Das Hauptskript, das: 1. ein temporäres SSH-Schlüsselpaar erzeugt 2. den Public Key zur CA überträgt 3. dort signieren lässt 4. das signierte Zertifikat abruft 5. sich mit dem temporären Schlüssel+Zertifikat auf die Ziel-VM verbindet ### `remote_sign.sh` Wird auf der **CA-VM** abgelegt. Dieses Skript signiert einen übergebenen Public Key mit dem CA-Schlüssel für einen bestimmten Nutzer und eine begrenzte Zeitspanne. --- ## ⚙️ Voraussetzungen ### Auf der CA-VM: - Der CA-Key (`ca_key`) befindet sich auf der CA-VM unter `/home/alf/ca_key` - Die Datei `remote_sign.sh` ist dort vorhanden und **ausführbar** - Optional: SSH-Agent mit geladener Passphrase (oder Passphrase entfernen) ### Auf dem Client (Rechner 1): - SSH-Zugriff auf die CA-VM (z. B. `ssh alf@ca-vm`) - SSH-Zugriff auf das Zielsystem - `scp`, `ssh`, `ssh-keygen` verfügbar - Agent-Weiterleitung (optional, aber empfohlen) --- ## 🚀 Nutzung ```bash ./get_cert_and_connect.sh