# #017 Private Key ausrollen und ~/.ssh/config **Status:** erledigt **Meilenstein:** v0.3.0 **Labels:** backend, ui **Geschätzt:** 4 h **Tatsächlich:** 0 h 45 min ## Ziel Private Key auf Zielhost/-benutzer/-pfad, verwalteter Block in `~/.ssh/config`, `known_hosts`. ## Aufgaben - [x] Übertragung nur über stdin - [x] Warnung bei Passphrase - [x] nur Admin ## Akzeptanzkriterien - [x] Integrationstest ## Abhängigkeiten #016 ## Notizen / Entscheidungen - **Dateien je Ziel:** Private Key (0600, keine Sicherungskopie), `.pub` (0644), verwalteter Block **am Anfang** von `~/.ssh/config` (ssh nimmt den ersten Treffer), verwalteter Block in `known_hosts` mit den vertrauten Host-Keys des Ziels unter dem HostName/Port aus der config. - **Nie fremde Dateien überschreiben:** Liegt am Zielpfad schon etwas anderes, scheitert das Ziel im Trockenlauf. - **Plan ohne Inhalt:** Der Trockenlauf zeigt beim Private Key nur die Aktion; weder Vorgang noch Protokoll noch Browser sehen den Schlüssel. - **Nur Admins:** Zuweisen verlangt `privateKeyAusrollen`; der Trockenlauf nimmt Private-Key-Ziele nur für Admins auf. - **Widerruf:** löschen oder umbenennen (`…sshkv-widerrufen.`), config- und known_hosts-Einträge verschwinden mit. - Integrationstest: A meldet sich per Alias bei B an (StrictHostKeyChecking=yes). E2E im Browser für den ganzen Kern-Anwendungsfall.