54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
# 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
|