0ab2d950f8eec069bd4480c62c21096c0ab4f321
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:
- ein temporäres SSH-Schlüsselpaar erzeugt
- den Public Key zur CA überträgt
- dort signieren lässt
- das signierte Zertifikat abruft
- 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.shist 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-keygenverfügbar- Agent-Weiterleitung (optional, aber empfohlen)
🚀 Nutzung
./get_cert_and_connect.sh
Languages
Shell
100%