Files
docu/shared/ssh
root 1accea28c6 Horus-VPS SSH-Keys in shared/ssh aufnehmen.
WireGuard-Zugang VM 101 → 10.1.1.1 dokumentiert, horus-root Set und
Deploy via Sprung-Host jean@192.168.10.10 ergänzt.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 11:47:56 +02:00
..

SSH — gemeinsame authorized_keys

Zentraler Katalog öffentlicher SSH-Keys (keine Private Keys). Stand aus den Hosts exportiert — bei neuem Laptop Key in fragments/ ergänzen, rebuild-assembled.sh laufen lassen.

Struktur

shared/ssh/
├── fragments/              # Einzelne Key-Gruppen (editierbar)
├── assembled/              # Fertige Sets pro Ziel (generiert)
├── rebuild-assembled.sh    # fragments → assembled
└── install-authorized-keys.sh
Fragment Inhalt
fragments/admin-workstations.pub DESKTOP-H9797I1, DESKTOP-J08NPU2
fragments/admin-laptops-extra.pub L7L1S5V, OJIEMRE, x380, Security Keys
fragments/admin-mobile.pub JuiceSSH, server6, WEBTOP
fragments/host-pve1.pub root@pve1 ed25519
fragments/host-pve2.pub root@pve2 (Ansible / Host-SSH)
fragments/legacy-pve1-rsa.pub Altes RSA auf pve1 (Kommentar „root@pve2“)
fragments/horus-vps-root.pub Horus VPS root@10.1.1.1 (via WireGuard)
fragments/vm101-to-horus.pub VM 101 → Horus (Automation-Key, Referenz)

Horus VPS (WireGuard)

Hostname horus.jeanavril.com
Öffentlich 207.180.222.207 (nur WG, kein SSH von außen)
VPN VM 101 wg0 10.1.1.5 ↔ Horus 10.1.1.1
SSH root@10.1.1.1 — nur von VM 101 (oder anderem WG-Peer)
VM-Key jean@DESKTOP-J08NPU2jean@192.168.10.10:~/.ssh/id_ed25519

Die VM nutzt die Verbindung u.a. für SSL-Zertifikate (NPM custom_ssl/). User jean existiert auf Horus nicht — nur root.

Assembled Sets → Ziel

Datei Deploy auf User
assembled/proxmox-root.pub pve1 192.168.10.5, pve2 192.168.10.4 root
assembled/vm101-jean.pub VM 101 Ubuntu 192.168.10.10 jean
assembled/pve2-lxc-root.pub CT 101 docker, 109 media, 110 AIDEV (pve2) root
assembled/horus-root.pub Horus VPS 10.1.1.1 (via WG) root
assembled/authorized_keys.all.pub Referenz — alle Keys vereint

Matrix (Ist-Zustand)

Host Empfohlenes Set Anmerkung
root@pve1 proxmox-root + legacy RSA noch enthalten
root@pve2 proxmox-root ohne legacy RSA (reicht host-pve2)
jean@192.168.10.10 vm101-jean Ansible fish-setup nutzt jean + SSH
CT 101 (docker) pve2-lxc-root Ansible disk-maintenance
CT 109 (media) subset: admin + OJIEMRE aktuell nur OJIEMRE — bei Bedarf volles Set
CT 110 (aidev) pve2-lxc-root Keys vermutlich vorhanden — CT war beim Export gestoppt, daher nicht auslesbar
root@10.1.1.1 (Horus) horus-root Nur via WireGuard; VM-Automation-Key: J08NPU2

Neuen Key hinzufügen

  1. Passendes Fragment in fragments/*.pub editieren (eine Zeile pro Key)
  2. ./rebuild-assembled.sh
  3. ./install-authorized-keys.sh <target> oder manuell cat assembled/….pub >> ~/.ssh/authorized_keys

Deploy

cd /root/docu/shared/ssh

# Proxmox lokal
./install-authorized-keys.sh proxmox-root

# Remote
./install-authorized-keys.sh --remote root@192.168.10.4 proxmox-root

# VM 101
./install-authorized-keys.sh vm101-jean

# CTs auf pve2 (muss auf pve2 laufen)
./install-authorized-keys.sh pve2-lxc-root
./install-authorized-keys.sh pve2-lxc-root --ct 101

# Horus (von pve1/pve2 aus — springt über VM 101)
./install-authorized-keys.sh horus-root

# Vorschau
./install-authorized-keys.sh --dry-run proxmox-root

Ansible

Host Ansible-Pfad Keys
pve1 pve1/ansible/ jean → VM 101
pve2 pve2/ansible/ root@pve2 → CTs

Symlink auf dem Host: ln -sfn /root/docu/pve{1,2}/ansible /root/ansible

Hinweise

  • Nur Public Keys ins Repo — niemals id_* ohne .pub oder .git-credentials-*
  • Zwei verschiedene ssh-rsa … root@pve2: aktueller Key auf pve2 vs. Legacy auf pve1 (legacy-pve1-rsa.pub)
  • CT muss laufen, damit pct exec Keys lesen/schreiben kann (110 war beim Export gestoppt)