Przejdź do głównej treści
Ta treść została scalona z 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ć.

Przegląd

Szybka konfiguracja

Krok 1: Dodaj konfigurację SSH

Edytuj ~/.ssh/config i dodaj:
Host remote-gateway
    HostName <REMOTE_IP>          # np. 172.27.187.184
    User <REMOTE_USER>            # np. jefferson
    LocalForward 18789 127.0.0.1:18789
    IdentityFile ~/.ssh/id_rsa
Zastąp <REMOTE_IP> i <REMOTE_USER> własnymi wartościami.

Krok 2: Skopiuj klucz SSH

Skopiuj swój klucz publiczny na zdalną maszynę (hasło wpiszesz 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>"
Użyj zamiast tego gateway.remote.password, jeśli zdalny gateway używa uwierzytelniania hasłem. OPENCLAW_GATEWAY_TOKEN nadal działa jako nadpisanie na poziomie powłoki, ale trwała konfiguracja klienta zdalnego to gateway.remote.token / gateway.remote.password.

Krok 4: Uruchom tunel SSH

ssh -N remote-gateway &

Krok 5: Uruchom ponownie OpenClaw.app

# Zamknij OpenClaw.app (⌘Q), a następnie otwórz ponownie:
open /path/to/OpenClaw.app
Aplikacja będzie teraz łączyć się ze zdalnym gateway przez tunel SSH.

Automatyczne uruchamianie tunelu przy logowaniu

Aby tunel SSH uruchamiał się automatycznie po zalogowaniu, utwórz Launch Agent.

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 Launch Agent

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ń wszelkie pozostałości com.openclaw.ssh-tunnel LaunchAgent, jeśli istnieją.

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

KomponentCo robi
LocalForward 18789 127.0.0.1:18789Przekierowuje lokalny port 18789 na zdalny port 18789
ssh -NSSH bez wykonywania zdalnych poleceń (tylko przekierowanie portów)
KeepAliveAutomatycznie restartuje tunel po awarii
RunAtLoadUruchamia tunel przy załadowaniu agenta
OpenClaw.app łączy się z ws://127.0.0.1:18789 na maszynie klienckiej. Tunel SSH przekierowuje to połączenie na port 18789 na zdalnej maszynie, na której działa Gateway.