diff --git a/README.md b/README.md index f499383..590753b 100644 --- a/README.md +++ b/README.md @@ -49,5 +49,52 @@ Wird auf der **CA-VM** abgelegt. Dieses Skript signiert einen übergebenen Publi ## 🚀 Nutzung -```bash +Führe auf deinem lokalen Rechner das Hauptskript aus: + +``` ./get_cert_and_connect.sh +``` + +Das Skript erledigt folgende Schritte automatisch: + +1. Generiert ein temporäres SSH-Schlüsselpaar +2. Überträgt den Public Key zur CA-VM +3. Lässt den Key dort signieren (Zertifikat wird erstellt) +4. Holt das Zertifikat wieder ab +5. Verwendet den temporären Key + Zertifikat für den SSH-Login zur Ziel-VM + +--- + +## 🔐 Sicherheitshinweise + +- Zertifikate sind standardmäßig **nur 5 Minuten gültig** (konfigurierbar) +- Der private CA-Schlüssel auf der CA-VM sollte durch Dateiberechtigungen geschützt sein (`chmod 600`) +- Wenn der CA-Key passwortgeschützt ist: + - entweder `ssh-agent` verwenden und Agent-Zugriff erlauben + - oder bewusst auf Passphrase verzichten (nur bei gut abgesicherter CA-VM) +- **Agent-Weiterleitung (`ssh -A`)** wird unterstützt und empfohlen + +--- + +## 🧪 Beispielhafte Konfiguration (`sshd_config` auf Ziel-VM) + +```conf +# Für nutzerbasierte Zertifikatsauthentifizierung: +TrustedUserCAKeys /etc/ssh/user_ca.pub + +# Nur Zertifikats-Login erlauben (optional): +PubkeyAuthentication yes +AuthorizedKeysFile none +``` + +Vergiss nicht, den CA-Public-Key (`ca_key.pub`) auf dem Zielsystem unter `/etc/ssh/user_ca.pub` abzulegen und den SSH-Dienst neu zu starten: + +``` +sudo systemctl restart sshd +``` + +--- + +## 📦 Lizenz + +MIT License – siehe [LICENSE](LICENSE) \ No newline at end of file