Remote access
Konfiguracja zdalnego Gateway
Ta treść została przeniesiona do Zdalny dostęp. Aktualny przewodnik znajdziesz na tej stronie.
Uruchamianie OpenClaw.app ze zdalnym Gateway
OpenClaw.app używa tunelowania SSH do łączenia się ze zdalnym Gateway. Ten przewodnik pokazuje, jak to skonfigurować.
Omówienie
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
Szybka konfiguracja
Krok 1: Dodaj konfigurację SSH
Edytuj ~/.ssh/config i dodaj:
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
Zastąp <REMOTE_IP> i <REMOTE_USER> swoimi wartościami.
Krok 2: Skopiuj klucz SSH
Skopiuj swój klucz publiczny na zdalną maszynę (wpisz hasło jeden raz):
ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>
Krok 3: Skonfiguruj uwierzytelnianie zdalnego Gateway
openclaw config set gateway.remote.token "<your-token>"
Zamiast tego użyj gateway.remote.password, jeśli zdalny Gateway używa uwierzytelniania hasłem.
OPENCLAW_GATEWAY_TOKEN nadal jest prawidłowe jako nadpisanie na poziomie powłoki, ale trwała
konfiguracja zdalnego klienta to gateway.remote.token / gateway.remote.password.
Krok 4: Uruchom tunel SSH
ssh -N remote-gateway &
Krok 5: Uruchom ponownie OpenClaw.app
# Quit OpenClaw.app (⌘Q), then reopen:
open /path/to/OpenClaw.app
Aplikacja połączy się teraz ze zdalnym Gateway przez tunel SSH.
Automatyczne uruchamianie tunelu przy logowaniu
Aby tunel SSH uruchamiał się automatycznie po zalogowaniu, utwórz agenta uruchamiania.
Utwórz plik PLIST
Zapisz to jako ~/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>
Załaduj agenta uruchamiania
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.ssh-tunnel.plist
Tunel będzie teraz:
- Uruchamiać się automatycznie po zalogowaniu
- Uruchamiać się ponownie po awarii
- Działać w tle
Uwaga dotycząca starszej konfiguracji: usuń wszelki pozostały LaunchAgent com.openclaw.ssh-tunnel, jeśli istnieje.
Rozwiązywanie problemów
Sprawdź, czy tunel działa:
ps aux | grep "ssh -N remote-gateway" | grep -v grep
lsof -i :18789
Uruchom tunel ponownie:
launchctl kickstart -k gui/$UID/ai.openclaw.ssh-tunnel
Zatrzymaj tunel:
launchctl bootout gui/$UID/ai.openclaw.ssh-tunnel
Jak to działa
| Komponent | Co robi |
|---|---|
LocalForward 18789 127.0.0.1:18789 |
Przekierowuje lokalny port 18789 na zdalny port 18789 |
ssh -N |
SSH bez wykonywania zdalnych poleceń (tylko przekierowanie portów) |
KeepAlive |
Automatycznie uruchamia tunel ponownie, jeśli ulegnie awarii |
RunAtLoad |
Uruchamia tunel po załadowaniu agenta |
OpenClaw.app łączy się z ws://127.0.0.1:18789 na maszynie klienta. Tunel SSH przekierowuje to połączenie do portu 18789 na zdalnej maszynie, na której działa Gateway.