diff --git a/README.md b/README.md index 79bec35..f499383 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,53 @@ -# SSH-Anmeldung mit kurzlebigen PublicKeys +# SSH-Zertifikatsbasierter Login mit temporären Benutzer-Zertifikaten -## Zielsetzung -Einfach Anmeldung an den eigenen SSH-Servern mittels kurzlebiger SSH-PublicKeys. Diese werden auf dem Startserver (Client) erzeugt, dann an die CA übertragen, sort für max. 5 Minuten zertifiziert und an den Client zurück gegeben. Auf dem Client erfolgt dann die Anmeldung mit dem signierten PublicKey auf dem Zielserver. +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. -## Vorausetzungen +## ✨ Features -## Scripte -### Auf der CA -### Auf dem Client +- 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