Community-Übersetzungen von veiseule.ai — Help improve them on Crowdin
Zum Hauptinhalt springen

Betrieb von OpenClaw.app mit einem entfernten Gateway

OpenClaw.app verwendet SSH-Tunneling, um eine Verbindung zu einem entfernten Gateway herzustellen. Diese Anleitung zeigt Ihnen, wie Sie es einrichten.

Überblick

flowchart TB
    subgraph Client["Client Machine"]
        direction TB
        A["OpenClaw.app"]
        B["ws://127.0.0.1:18789\n(local port)"]
        T["SSH Tunnel"]

        A --> B
        B --> T
    end
    subgraph Remote["Remote Machine"]
        direction TB
        C["Gateway WebSocket"]
        D["ws://127.0.0.1:18789"]

        C --> D
    end
    T --> C

Schnellstart

Schritt 1: SSH-Konfiguration hinzufügen

Bearbeiten Sie ~/.ssh/config und fügen Sie Folgendes hinzu:

Host remote-gateway
    HostName <REMOTE_IP>          # e.g., 172.27.187.184
    User <REMOTE_USER>            # e.g., jefferson
    LocalForward 18789 127.0.0.1:18789
    IdentityFile ~/.ssh/id_rsa

Ersetzen Sie <REMOTE_IP> und <REMOTE_USER> durch Ihre Werte.

Schritt 2: SSH-Schlüssel kopieren

Kopieren Sie Ihren öffentlichen Schlüssel auf die entfernte Maschine (Passwort einmal eingeben):

ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>

Schritt 3: Gateway-Token festlegen

launchctl setenv OPENCLAW_GATEWAY_TOKEN "<your-token>"

Schritt 4: SSH-Tunnel starten

ssh -N remote-gateway &

Schritt 5: OpenClaw.app neu starten

# Quit OpenClaw.app (⌘Q), then reopen:
open /path/to/OpenClaw.app

Die App verbindet sich nun über den SSH-Tunnel mit dem entfernten Gateway.


Automatischer Start des Tunnels bei der Anmeldung

Damit der SSH-Tunnel automatisch startet, wenn Sie sich anmelden, erstellen Sie einen Launch Agent.

PLIST-Datei erstellen

Speichern Sie dies als ~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>bot.molt.ssh-tunnel</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/ssh</string>
        <string>-N</string>
        <string>remote-gateway</string>
    </array>
    <key>KeepAlive</key>
    <true/>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Launch Agent laden

launchctl bootstrap gui/$UID ~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist

Der Tunnel wird nun:

  • Automatisch beim Anmelden gestartet
  • Neu gestartet, falls er abstürzt
  • Im Hintergrund weiter ausgeführt

Hinweis zu Legacy-Systemen: Entfernen Sie ggf. vorhandene verbleibende com.openclaw.ssh-tunnel-LaunchAgents.


Fehlerbehebung

Prüfen, ob der Tunnel läuft:

ps aux | grep "ssh -N remote-gateway" | grep -v grep
lsof -i :18789

Tunnel neu starten:

launchctl kickstart -k gui/$UID/bot.molt.ssh-tunnel

Tunnel stoppen:

launchctl bootout gui/$UID/bot.molt.ssh-tunnel

Funktionsweise

Komponente Was es tut
LocalForward 18789 127.0.0.1:18789 Leitet den lokalen Port 18789 an den entfernten Port 18789 weiter
ssh -N SSH ohne Ausführung entfernter Befehle (nur Portweiterleitung)
KeepAlive Startet den Tunnel automatisch neu, falls er abstürzt
RunAtLoad Startet den Tunnel, wenn der Agent geladen wird

OpenClaw.app verbindet sich auf Ihrer Client-Maschine mit ws://127.0.0.1:18789. Der SSH-Tunnel leitet diese Verbindung an Port 18789 auf der entfernten Maschine weiter, auf der das Gateway ausgeführt wird.