Remote access

Externe Gateway instellen

Deze inhoud is samengevoegd in Externe toegang. Zie die pagina voor de huidige handleiding.

OpenClaw.app uitvoeren met een externe Gateway

OpenClaw.app gebruikt SSH-tunneling om verbinding te maken met een externe Gateway. Deze handleiding laat zien hoe je dit instelt.

Overzicht

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

Snelle configuratie

Stap 1: SSH-configuratie toevoegen

Bewerk ~/.ssh/config en voeg toe:

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

Vervang <REMOTE_IP> en <REMOTE_USER> door je eigen waarden.

Stap 2: SSH-sleutel kopiëren

Kopieer je openbare sleutel naar de externe machine (voer het wachtwoord één keer in):

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

Stap 3: Authenticatie voor externe Gateway configureren

openclaw config set gateway.remote.token "<your-token>"

Gebruik in plaats daarvan gateway.remote.password als je externe Gateway wachtwoordauthenticatie gebruikt. OPENCLAW_GATEWAY_TOKEN is nog steeds geldig als override op shellniveau, maar de duurzame configuratie voor externe clients is gateway.remote.token / gateway.remote.password.

Stap 4: SSH-tunnel starten

ssh -N remote-gateway &

Stap 5: OpenClaw.app opnieuw starten

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

De app maakt nu via de SSH-tunnel verbinding met de externe Gateway.


Tunnel automatisch starten bij inloggen

Maak een Launch Agent aan om de SSH-tunnel automatisch te laten starten wanneer je inlogt.

Het PLIST-bestand maken

Sla dit op als ~/Library/LaunchAgents/ai.openclaw.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>ai.openclaw.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>

De Launch Agent laden

launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.ssh-tunnel.plist

De tunnel zal nu:

  • Automatisch starten wanneer je inlogt
  • Opnieuw starten als deze crasht
  • Op de achtergrond blijven draaien

Legacy-opmerking: verwijder eventuele overgebleven com.openclaw.ssh-tunnel LaunchAgent als die aanwezig is.


Problemen oplossen

Controleren of de tunnel draait:

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

De tunnel opnieuw starten:

launchctl kickstart -k gui/$UID/ai.openclaw.ssh-tunnel

De tunnel stoppen:

launchctl bootout gui/$UID/ai.openclaw.ssh-tunnel

Hoe het werkt

Component Wat het doet
LocalForward 18789 127.0.0.1:18789 Stuurt lokale poort 18789 door naar externe poort 18789
ssh -N SSH zonder externe opdrachten uit te voeren (alleen poortdoorschakeling)
KeepAlive Start de tunnel automatisch opnieuw als deze crasht
RunAtLoad Start de tunnel wanneer de agent wordt geladen

OpenClaw.app maakt verbinding met ws://127.0.0.1:18789 op je clientmachine. De SSH-tunnel stuurt die verbinding door naar poort 18789 op de externe machine waarop de Gateway draait.

Gerelateerd