KI-Frontier

OpenClaw-Gateway-Isolation auf einem geteilten, gemieteten Cloud-Mac mini

MacHTML Lab2026.04.09 ca. 22 Min. Lesezeit

Das OpenClaw-Gateway auf einem gemieteten Cloud-Mac mini hält echte macOS-Dienste greifbar, ohne sofort Apple Silicon zu kaufen—als Richtgröße eignet sich oft etwa 16,9 USD pro Tag. Die Falle ist, den Host wie einen wegwerfbaren Linux-VPS zu behandeln: mehrere Operator:innen, Automationskonten und „Golden Images“ des Providers überlagern sich unsichtbar. Dieser Leitfaden betont Multi-Tenant-Hygiene: Trennung von ~/.openclaw bzw. OPENCLAW_HOME, eindeutige LaunchAgent-Label, Umgang mit UID-Klonen aus Vorlagenimages, Vermeidung von TCP- und UNIX-Socket-Kollisionen sowie die Aufteilung von Geheimnissen zwischen Umgebungsvariablen und dem Schlüsselbund. Für die Ersteinrichtung lesen Sie parallel Gateway-Onboarding und TCC; wenn Jobs nach Upgrades verrutschen, gleichen Sie mit LaunchAgent-Wiederherstellung und Neustart ab.

Risikokarte für geteilte Gateways

Geteilte Hosts verstärken drei Modi: Zustandsüberlauf (Sessions überschreiben fremde Konfiguration), Scheduler-Verwirrung (doppelte launchd-Labels) und Identitätsdrift (geklonte Images nutzen dieselbe numerische UID; plist-Pfade wirken gültig, zeigen aber auf die falsche Person). Die Tabelle ordnet Risiko und Gegenmaßnahme ein—setzen Sie sie durch, bevor jemand openclaw gateway install ausführt.

RisikoSymptomGegenmaßnahme
Gemeinsame StandardkonfigurationSQLite-Sperren, vermischte Credentials, mysteriöse AbstürzeOPENCLAW_HOME pro Person unter ~/Users/<Kurzname> erzwingen
Doppelte LaunchAgent-LabelsNur ein Job läuft wirklichMandantenpräfix, z. B. com.acme.openclaw.gateway.alice
UID-Klone im Imageplists zeigen noch auf /Users/buildAlte Jobs bootouten; nach erstem Login des Realusers neu installieren
Überlappende TCP/UNIX-EndpunkteEADDRINUSE, flatternde Healthchecks, Agent-Retry-SchleifenBlöcke wie 18789–18809 pro Sitzplatz zuweisen
Weltlesbare SchlüsseldateienEin cat leakt über SSH-Sessions hinwegLanglebige Token in den Schlüsselbund; Env-Stubs mit chmod 600

Planen Sie für die erste End-to-End-Validierung 30–45 Minuten ein: Gateway hoch, Agent verbunden, TCC-Prompts erledigt, nach Reboot selbstheilend. Wer das überspringt, verwandelt „lief auf meinem Laptop“ in einen Nachtvorfall, sobald ein zweiter Auftragnehmer dieselbe mini betritt.

OPENCLAW_HOME pro Operator

Auf einem persönlichen Mac genügt ~/.openclaw; auf gemieteter Shared Hardware ist das eine Fußfalle. Legen Sie pro Person ein Verzeichnis an (mkdir -p ~/.openclaw-alice) und exportieren Sie OPENCLAW_HOME in deren Shell-Profil vor install oder doctor. Dokumentieren Sie den Pfad im Wiki, damit On-Call nicht alle Tilden gleichbedeutend annimmt.

Warum keine Gruppen-ACL auf einem gemeinsamen Baum? Das Gateway mischt authentifizierte Gerätemetadaten, lokale Caches und IPC mit Single-Writer-Annahme. POSIX-Gruppen ersetzen keine logische Mandantentrennung; sie verzögern nur den Moment, in dem zwei Gateways gleichzeitig einen UNIX-Socket unter $OPENCLAW_HOME/tmp binden wollen. Für Backups: tarball je Präfix ins Objektspeichersystem, kein zusammengeführtes rsync-Ziel.

Automationskonten sind ebenfalls Mandanten. Ein CI-Nutzer für Healthchecks erhält OPENCLAW_HOME=/var/lib/openclaw-ci mit korrekter Ownership statt am Homebaum eines Menschen zu hängen. Auditfragen nach „welcher Baum hielt diesen API-Key?“ werden so beantwortbar.

Mischen Sie Demo- und Produktionskonten nicht im selben OPENCLAW_HOME. Kampagnen-Token in einer gemeinsamen SQLite hinterlassen Spuren für den nächsten Mieter; vor Rückgabe müssen Verzeichnisse physisch gelöscht oder sicher verwischt werden.

LaunchAgent-Labels und Pfade

macOS identifiziert LaunchAgents über Label. Kollisionen führen zu undefiniertem Verhalten—häufig bleibt die zweite plist mit Console-Warnung liegen. Nutzen Sie Reverse-DNS inklusive Team und Sitz: com.yourorg.openclaw.gateway.designer1. Dateinamen an Labels angleichen verkürzt grep bei Vorfällen.

ProgramArguments müssen absolute Pfade zur tatsächlichen Toolchain (npm global, brew, gepinntes Tarball) tragen. Nach kleinen macOS-Updates des Providers Pfade erneut prüfen; Homebrew verschiebt Cellar-Layouts und Symlinks still. Workflow: launchctl bootout des alten Jobs, Datei ersetzen, bootstrap—Hot-Swap ohne bootout hinterlässt Zombiezustände.

Leiten Sie StandardOutPath und StandardErrorPath in pro-Mandanten-Logs unter OPENCLAW_HOME um. Gemeinsame /tmp/openclaw.log-Dateien erzeugen chmod-Streit und Token-Leaks bei Debug-Logging. Mandantenspezifische Rotation hilft bei Compliance-Nachweisen, wer einen Neustart auslöste.

Zwei Gateways (Canary und stabil) beim selben Login erfordern zwei Labels und zwei OPENCLAW_HOME-Verzeichnisse plus eine Matrix in der Runbook: Label, Portblock, Logpfad, Owner.

UID-Klone und Image-Resets

Provider liefern oft eingefrorene Images, in denen Template-Nutzer /Users/build oder /Users/macuser mit UID 501 besitzen. Ohne explizites Säubern von ~/Library/LaunchAgents und der Bootstrap-Domain dieser UID kann launchd alte Template-Jobs erneut laden. Immer als Produktionsnutzer anmelden, id -u prüfen und launchctl print gui/$(id -u) auf eigene Labels begrenzen.

Wenn nur der Hostname rotiert, aber Homes nicht bereinigt werden, keine Demo-Kurznamen wiederverwenden. Ein überlebendes com.vendor.openclaw aus einem Snapshot kann nach Reboot zurückkehren. Die nummerierte Checkliste unten macht bootout zur Pflicht, nicht zur Option.

Selten teilen zwei menschliche Konten nach fehlerhafter Migration dieselbe UID—Berechtigungen helfen nicht; OpenClaw liest falsche Schlüsselbunditems. Eskalation zum Provider; im Alltag Anbieter wählen, die pro Abo eindeutige lokale Konten garantieren.

Global verteilte Teams sollten Zeitzonen und Sommerzeit beachten: Cron- und LaunchAgent-Fenster verschieben sich; definierte Wartungsfenster in UTC und explizite StartCalendarInterval-Einträge verhindern Missverständnisse darüber, wer gerade Bereitschaft hat.

Port- und Socket-Kollisionen

TCP-Listener und UNIX-Domain-Sockets sind die lautesten Kollisionsflächen. Weisen Sie dokumentierte Portbereiche zu—Beispiel: Alice 18789–18799, Bob 18800–18810—und versionieren Sie die Zuordnung im Infra-Repo. Überschreiben Sie OpenClaw- oder Proxy-Defaults in der Konfiguration, damit Neustart-Races keinen Nachbarport stehlen.

UNIX-Sockets gehören unter OPENCLAW_HOME/run oder tmp, nicht als globale /tmp/openclaw.sock. Nach harten Abstürzen können Socket-Dateien liegen bleiben; Startskripte sollten bekannte Pfade unlinken oder klar scheitern. nginx/Caddy-Konfigurationen pro Mandant unter /opt/tenants/<name> halten, damit include-Zusammenführungen nicht passieren.

Externe Healthchecks müssen den Mandantenport explizit ansprechen. Generische „localhost:gateway“-Annahmen scheitern bei zwei Gateways. Tragen Sie Health-URL und OPENCLAW_HOME in derselben Tabellenzeile ein, damit niemand aus Slack falsche .env-Fragmente kopiert.

Mit Tailscale oder WireGuard virtuelle IPs und Portblöcke im internen DNS registrieren, damit zwei Personen nicht dieselbe Loopback-Nummer auf unterschiedliche Tunnel mappen und falsche Positives erzeugen.

Umgebung versus Schlüsselbund

Umgebungsvariablen laden früh, passen zu nicht-interaktivem SSH und Twelve-Factor—auf geteilten Macs werden Dotfiles aber leicht world-readable, wenn chmod 600 fehlt. Mehrere Admins mit gleichzeitigem ps eww sehen kurz die Startumgebung.

Der macOS-Schlüsselbund bindet Geheimnisse an den angemeldeten Benutzer und erschwert mandantenübergreifendes Lesen bei sauberen UNIX-Rechten. LaunchAgent-gestartete Gateways erben den entsperrten Schlüsselbund der GUI-Session; Headless-Setups brauchen dokumentierte Erstentsperrung neben TCC-Anleitungen. Kurzlebige CI-Token kommen aus Secret-Managern in die Umgebung und rotieren aggressiv—nie in eine gemeinsame .zshrc.

Richtlinie: persönliche Langzeit-API-Keys → Schlüsselbund je Operator; kurzlebige Automationskeys → EnvironmentVariables im Automations-plist mit chmod 0400 auf der plist; Break-Glass-Masterkeys → offline, nicht auf der Mietplatte. Quartalsweise Review, weil OpenClaws Geheimoberflächen sich ändern.

Infrastruktur in Git erfordert Verschlüsselung (sops o. Ä.); .env.example nur Platzhalter ohne echte Präfixe, selbst für „Testkeys“.

Nummerierte Offboarding-Checkliste

Vor Rückgabe oder Re-Image der Cloud-mini einen zweiten Engineer dabei haben—keine stillen Solo-Läufe.

  1. Beweise exportieren: OPENCLAW_HOME, plist-Kopien, letzte 24h Logs verschlüsselt archivieren; CLI- und Gateway-Version notieren.
  2. Credentials widerrufen: OpenClaw-API-Keys und OAuth-Refresh rotieren; alte IDs im IdP ungültig machen.
  3. LaunchAgents bootouten: Pro Mandantenlabel launchctl bootout gui/$UID ~/Library/LaunchAgents/<datei>.plist; mit launchctl print verifizieren.
  4. plist-Dateien löschen: OpenClaw-Einträge aus ~/Library/LaunchAgents entfernen, damit Klone nicht wiederaufleben.
  5. Konfigurationswurzeln leeren: Pro Mandant OPENCLAW_HOME shredden oder Volume-Policy entsprechend sicher löschen.
  6. Schlüsselbund säubern: OpenClaw-bezogene Einträge entfernen; Suchtreffer muss leer sein.
  7. Ports freigeben: Sicherstellen, dass auf den zugewiesenen Blöcken nichts lauscht; Freigabe dokumentieren.
  8. Gemeinsame Env-Fragmente entfernen: Shell-Profile, /etc/paths.d-Einträge, CI-crontabs mit alten Homes bereinigen.
  9. TCC-Check: Verbleibende Privacy-Freigaben notieren; ggf. zurücksetzen, wenn der nächste Mieter keine Kamera/Mikro/Automation erben soll.
  10. Provider-Ticket: Checksumme des Evidence-Tarballs und Bestätigung, dass keine eigenen LaunchAgent-Labels mehr existieren.

Bei jedem fehlgeschlagenen Schritt stoppen. Halb gelöscht ist schlimmer als verspätete Rückgabe—Geisterzustände untergraben den Isolationszweck.

FAQ

Können zwei Engineer:innen ~/.openclaw auf demselben Cloud-Mac mini sicher teilen?

Nein. Das Verzeichnis vermischt Laufzeitdatenbanken, Gerätevertrauen und Session-Caches; parallele Gateways kämpfen um denselben Socket und TCC-Freigaben. Richten Sie pro Person OPENCLAW_HOME im jeweiligen Benutzerordner ein.

Warum zerstören geklonte Provider-Images LaunchAgents nach Offboarding?

Golden Images behalten oft identische numerische UIDs und alte plist-Pfade; launchd kann fremde Mandanten-Labels wiederbeleben oder Program auf gelöschte Nutzer zeigen. Immer alte Jobs bootouten, LaunchAgents säubern und vom aktiven Konto neu installieren.

Sollen OpenClaw-API-Schlüssel in Umgebungsdateien oder im macOS-Schlüsselbund liegen?

Auf geteilten Hosts: langlebige persönliche Token in den Schlüsselbund; stündlich rotierende CI-ähnliche Injektionen in Klartext-Umgebungsdateien. Ohne mandantenspezifische Rechte nichts davon auf die gemeinsame Platte committen.

Für OpenClaw-Gateways, die authentisches macOS-Verhalten brauchen, bleibt der Mac mini der pragmatische Ort. MacHTML vermietet Cloud-Mac-minis mit SSH und VNC, damit Teams Isolationsmuster und LaunchAgent-Hygiene ohne Hardware-CapEx üben können—hochfahren, wenn macOS gebraucht wird, herunterfahren, sobald das Gateway auf Dedicated-Metal wandert.

Isoliertes OpenClaw auf Cloud-Mac

Multi-Tenant-Gateway-Hygiene auf echtem Apple Silicon üben: getrennte Homes, eindeutige Labels, nachweisbare Nullstellung vor dem nächsten Mieter.

Mandantensicheres OpenClaw-Gateway
Ab 16,9 USD/Tag