Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8.7 KiB
Notfall: Verwaltung des Clusters „knaster“ an eine andere Person übergeben
Stand 19.10.2026. Für die Geschäftsführung als Notfallunterlage. In diesem Dokument stehen keine Passwörter. Alle Geheimnisse liegen in Password Depot; hier steht nur, wo sie liegen und was man damit tut.
Technische Einzelheiten für die übernehmende Person: docs/BETRIEB.md Abschnitt 15, AGENTS.md, project-map.md
im Repository cluster-knaster.
1. Worum es geht
Der Cluster „knaster“ (fünf Proxmox-Server mit KI-Diensten) wird von einer Person verwaltet, heute Robert Rapp. Fällt diese Person aus (Krankheit, Austritt, nicht erreichbar), muss eine andere Person die Verwaltung übernehmen können. Dafür braucht sie vier Zugänge:
| Zugang | Wofür | Woher im Notfall |
|---|---|---|
| Proxmox-Konto mit TOTP (Einmalcode) | Weboberfläche der Server: Zustand, Neustart, Konsole | Notfall: root-Passwort aus Password Depot; danach eigenes Konto |
| Freigabe der Geräteadresse in der Firewall | Ohne Freigabe ist die Weboberfläche vom eigenen Rechner aus gesperrt | vor Ort am Server pve61 (Abschnitt 4, Schritt 2) |
| SSH-Schlüssel auf dem Steuerrechner „ops“ | Alle Verwaltungsarbeiten (Kubernetes, Ansible, Updates) | über die Proxmox-Weboberfläche eintragen (Schritt 4) |
Gitea-Zugang zum Repository cluster-knaster |
Konfiguration ändern und dauerhaft festhalten | Gitea-Administrator (siehe unten) |
2. Was vorher bereitliegen muss (einmal prüfen, dann jährlich)
- Die Geschäftsführung (oder eine benannte Vertretung) hat Zugriff auf Password Depot mit den Einträgen
„Proxmox knaster – root (Notfall)“ (Passwörter
PVE44_PASS…PVE61_PASS) und „Proxmox knaster – r.rapp@pve“ (Passwort, Einmalcode, Recovery-Keys). - Bekannt ist, wo der Server pve61 steht (Microsoft Surface mit eigenem Bildschirm, im Dock am Netzwerk): Standort: ______________________________
- Gitea-Administrator für
gitea.mindboost.team(kann Personen Zugang zum Repository geben): Name / Kontakt: ______________________________ - Benannte übernehmende Person(en) mit Grundkenntnissen in Linux und SSH:
3. Geplante Übergabe (die bisherige Person ist noch erreichbar)
Dauer etwa 30–60 Minuten, beide gemeinsam. Die bisherige Person führt die neue nach docs/BETRIEB.md Abschnitt 15
durch: Schlüssel eintragen, Proxmox-Konto mit TOTP anlegen, Geräteadresse freigeben, Gitea-Zugang. Danach ist
Abschnitt 4 nicht nötig. Das ausgefüllte Übergabeblatt (Abschnitt 6) zur Notfallunterlage legen.
4. Notfall: die bisherige Person ist nicht erreichbar
Die übernehmende Person (im Folgenden B) braucht: einen eigenen Laptop im Büronetz, Zugriff auf Password Depot (über die Geschäftsführung) und einmal Zugang zum Server pve61 vor Ort.
Schritt 1 – Laptop vorbereiten (B, 5 Minuten). Unter Windows in „Git Bash“ (oder Linux/macOS im Terminal):
ssh-keygen -t ed25519 -C "<name>-<geraet>-<datum>" # z. B. m.muster-laptop-2026-11-03, Enter für Standardpfad
cat ~/.ssh/id_ed25519.pub # öffentlicher Schlüssel, eine Zeile: ssh-ed25519 AAAA… <name>
ipconfig # eigene IPv4-Adresse im Netz 192.168.100.x notieren
Nur der öffentliche Schlüssel (.pub) wird weitergegeben, nie die Datei ohne Endung.
Schritt 2 – Adresse von B in der Firewall freigeben (vor Ort an pve61, 5 Minuten).
- Am Surface anmelden: Benutzer
root, PasswortPVE61_PASSaus Password Depot. - Datei öffnen:
nano /etc/pve/firewall/cluster.fw - Im Block
[IPSET admin]eine Zeile ergänzen, z. B.192.168.100.57 # Notfall m.muster 2026-11-03 - Speichern (
Strg+O, Enter,Strg+X). Die Änderung gilt nach wenigen Sekunden auf allen Servern.
Diese Freigabe ist vorläufig: Der nächste Lauf von playbooks/cluster.yml schreibt die Datei aus dem Repository neu.
Darum in Schritt 5 dauerhaft eintragen.
Schritt 3 – Weboberfläche (B, am eigenen Laptop). Browser: https://192.168.100.210:8006
(Zertifikatswarnung bestätigen). Benutzer root, Realm „Linux PAM standard authentication“, Passwort
PVE44_PASS aus Password Depot.
Schritt 4 – Schlüssel von B auf dem Steuerrechner ops eintragen.
- Links im Baum den Server pve46 wählen, oben „Shell“.
- In der Shell:
pct enter 100 echo "ssh-ed25519 AAAA… <öffentlicher Schlüssel von B, ganze Zeile>" >> /root/.ssh/authorized_keys exit - Am Laptop von B prüfen:
ssh root@192.168.100.173 kubectl get nodes→ fünf Zeilen mitReady.
Ab hier kann B den Cluster verwalten. Alle weiteren Arbeiten laufen über ops (siehe AGENTS.md).
Schritt 5 – Dauerhaft machen (B, mit Gitea-Zugang).
- Gitea-Administrator gibt B Schreibzugang zu
gitea.mindboost.team/rorapp/cluster-knaster; Repository klonen. - In
sites/knaster/proxmox.yamleintragen (Beispiel in Abschnitt 6): Schlüssel unteraccess.ops_ssh_keys, Name unteraccess.admin_users, Adresse unterfirewall.management. - Committen und pushen, dann auf ops:
cd /root/cluster-knaster && git pull cd platform/proxmox/ansible ansible-playbook playbooks/admins.yml ansible-playbook playbooks/cluster.yml - Eigenes Proxmox-Konto mit TOTP: vom Laptop
platform/proxmox/scripts/pve-admin-user.sh <name>(setzt Passwort, Einmalcode und Recovery-Keys; die erzeugte Dateitfa-<name>.txtin Password Depot übernehmen und löschen). Ab dann nicht mehr alsrootanmelden.
Schritt 6 – Bisherige Person austragen (nur bei Austritt).
Nach docs/BETRIEB.md Abschnitt 15 „Person oder Gerät entfernen“: Schlüssel nach ops_ssh_keys_revoked, Konto
r.rapp@pve löschen, alte Laptop-Adressen aus firewall.management, Gitea-Zugang entziehen. Zusätzlich die
root-Passwörter aller Server ändern (Password Depot aktualisieren) und die Token in /root/.config/knaster/ auf ops
erneuern (BETRIEB Abschnitt 8). Der Laptop-Schlüssel der bisherigen Person liegt auch direkt auf den Servern
(/etc/pve/priv/authorized_keys), in infra und in den VMs und muss dort ebenfalls entfernt werden.
5. Was man im Notfall nicht tun sollte
- Die Firewall nicht ganz abschalten, solange es nicht anders geht (
pve-firewall stopnur als letzter Ausweg, danach sofort wiederpve-firewall start). - Keine Server neu installieren oder Festplatten anfassen; Daten und KI-Dienste laufen weiter, auch ohne Verwaltung.
- Keine Passwörter oder privaten Schlüssel per Mail oder Chat verschicken.
- Server nur einzeln und nacheinander neu starten (
docs/BETRIEB.mdAbschnitt 6).
6. Beispiel: ausgefülltes Übergabeblatt (fiktive Person)
| Punkt | Beispiel | Wo es festgehalten wird |
|---|---|---|
| Person | Max Muster, IT, max.muster@… | dieses Blatt |
| Proxmox-Konto | m.muster@pve, Gruppe admins, TOTP eingerichtet am 03.11.2026 |
Passwort, Einmalcode, Recovery-Keys in Password Depot, Eintrag „Proxmox knaster – m.muster@pve“ |
| Geräte und Adressen | Laptop WLAN 192.168.100.57, Dock 192.168.100.58 (beim DC reservieren lassen) |
sites/knaster/proxmox.yaml → firewall.management |
| SSH-Schlüssel | ssh-ed25519 AAAAC3Nz…Xy m.muster-laptop-2026-11-03 |
sites/knaster/proxmox.yaml → access.ops_ssh_keys |
| Gitea | Benutzer mmuster, Schreibzugang zu rorapp/cluster-knaster, erteilt von ________ |
Gitea |
| Prüfung | ssh ops kubectl get nodes → 5× Ready; Anmeldung Weboberfläche mit TOTP ok |
Datum, Unterschrift: ________ |
Eintrag in sites/knaster/proxmox.yaml (Ausschnitt):
access:
admin_users: [r.rapp, m.muster]
ops_ssh_keys:
- {name: r.rapp-laptop, key: "ssh-ed25519 AAAAC3Nz…QcoJ rrapp-laptop-2026-10-08"}
- {name: m.muster-laptop, key: "ssh-ed25519 AAAAC3Nz…Xy m.muster-laptop-2026-11-03"}
ops_ssh_keys_revoked: []
firewall:
management:
- {ip: 192.168.100.57, comment: Laptop m.muster WLAN}
- {ip: 192.168.100.58, comment: Laptop m.muster Dock}
SSH-Konfiguration auf dem Laptop von B (~/.ssh/config):
Host ops
HostName 192.168.100.173
User root
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
Danach genügt ssh ops. Von ops aus erreicht man alle Server und Gäste (ssh pve44, kubectl …, ansible-playbook …).
7. Prüfliste nach der Übernahme
ssh ops kubectl get nodeszeigt fünf KnotenReady.- Weboberfläche mit eigenem Konto und Einmalcode, Übersicht ohne rote Server.
- Grafana
http://192.168.100.188:3000öffnet (Passwortadminsteht in/opt/knaster/infra/.envauf infra). - Proxmox-Benachrichtigungen kommen an (Mail an
ki@mygodel.de; Empfänger bei Bedarf inaccess.mail_toändern). - Übergabeblatt ausgefüllt und zur Notfallunterlage gelegt; Password Depot aktualisiert.