Remote access
Configurazione del Gateway remoto
Questo contenuto è stato unito in Accesso remoto. Consulta quella pagina per la guida attuale.
Eseguire OpenClaw.app con un Gateway remoto
OpenClaw.app usa il tunneling SSH per connettersi a un gateway remoto. Questa guida mostra come configurarlo.
Panoramica
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
Configurazione rapida
Passaggio 1: aggiungere la configurazione SSH
Modifica ~/.ssh/config e aggiungi:
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
Sostituisci <REMOTE_IP> e <REMOTE_USER> con i tuoi valori.
Passaggio 2: copiare la chiave SSH
Copia la tua chiave pubblica sulla macchina remota (inserisci la password una volta):
ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>
Passaggio 3: configurare l'autenticazione del Gateway remoto
openclaw config set gateway.remote.token "<your-token>"
Usa invece gateway.remote.password se il tuo Gateway remoto usa l'autenticazione con password.
OPENCLAW_GATEWAY_TOKEN resta valido come override a livello di shell, ma la configurazione
duratura del client remoto è gateway.remote.token / gateway.remote.password.
Passaggio 4: avviare il tunnel SSH
ssh -N remote-gateway &
Passaggio 5: riavviare OpenClaw.app
# Quit OpenClaw.app (⌘Q), then reopen:
open /path/to/OpenClaw.app
L'app ora si connetterà al Gateway remoto tramite il tunnel SSH.
Avvio automatico del tunnel all'accesso
Per avviare automaticamente il tunnel SSH quando accedi, crea un Launch Agent.
Creare il file PLIST
Salvalo come ~/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>
Caricare il Launch Agent
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.ssh-tunnel.plist
Il tunnel ora:
- Si avvierà automaticamente quando accedi
- Si riavvierà in caso di arresto anomalo
- Continuerà a essere eseguito in background
Nota legacy: rimuovi eventuali LaunchAgent com.openclaw.ssh-tunnel residui, se presenti.
Risoluzione dei problemi
Verificare se il tunnel è in esecuzione:
ps aux | grep "ssh -N remote-gateway" | grep -v grep
lsof -i :18789
Riavviare il tunnel:
launchctl kickstart -k gui/$UID/ai.openclaw.ssh-tunnel
Arrestare il tunnel:
launchctl bootout gui/$UID/ai.openclaw.ssh-tunnel
Come funziona
| Componente | Cosa fa |
|---|---|
LocalForward 18789 127.0.0.1:18789 |
Inoltra la porta locale 18789 alla porta remota 18789 |
ssh -N |
SSH senza eseguire comandi remoti (solo inoltro di porte) |
KeepAlive |
Riavvia automaticamente il tunnel in caso di arresto anomalo |
RunAtLoad |
Avvia il tunnel quando l'agent viene caricato |
OpenClaw.app si connette a ws://127.0.0.1:18789 sulla tua macchina client. Il tunnel SSH inoltra quella connessione alla porta 18789 sulla macchina remota in cui è in esecuzione il Gateway.