Remote access
راهاندازی Gateway راه دور
این محتوا در دسترسی راهدور ادغام شده است. برای راهنمای فعلی، آن صفحه را ببینید.
اجرای OpenClaw.app با Gateway راهدور
OpenClaw.app برای اتصال به یک Gateway راهدور از تونلزنی SSH استفاده میکند. این راهنما نشان میدهد چگونه آن را راهاندازی کنید.
نمای کلی
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
راهاندازی سریع
مرحله ۱: افزودن پیکربندی SSH
~/.ssh/config را ویرایش کنید و این را اضافه کنید:
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
<REMOTE_IP> و <REMOTE_USER> را با مقادیر خودتان جایگزین کنید.
مرحله ۲: کپی کردن کلید SSH
کلید عمومی خود را روی ماشین راهدور کپی کنید (رمز عبور را یکبار وارد کنید):
ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>
مرحله ۳: پیکربندی احراز هویت Gateway راهدور
openclaw config set gateway.remote.token "<your-token>"
اگر Gateway راهدور شما از احراز هویت با رمز عبور استفاده میکند، بهجای آن از gateway.remote.password استفاده کنید.
OPENCLAW_GATEWAY_TOKEN همچنان بهعنوان بازنویسی در سطح شِل معتبر است، اما راهاندازی پایدار
کلاینت راهدور، gateway.remote.token / gateway.remote.password است.
مرحله ۴: شروع تونل SSH
ssh -N remote-gateway &
مرحله ۵: راهاندازی دوباره OpenClaw.app
# Quit OpenClaw.app (⌘Q), then reopen:
open /path/to/OpenClaw.app
اکنون برنامه از طریق تونل SSH به Gateway راهدور متصل میشود.
شروع خودکار تونل هنگام ورود
برای اینکه تونل SSH هنگام ورود شما بهصورت خودکار شروع شود، یک عامل راهاندازی ایجاد کنید.
ایجاد فایل PLIST
این را با نام ~/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>
بارگذاری عامل راهاندازی
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.ssh-tunnel.plist
اکنون تونل:
- هنگام ورود شما بهصورت خودکار شروع میشود
- اگر از کار بیفتد، دوباره راهاندازی میشود
- در پسزمینه در حال اجرا میماند
یادداشت قدیمی: اگر LaunchAgent باقیماندهای با نام com.openclaw.ssh-tunnel وجود دارد، آن را حذف کنید.
عیبیابی
بررسی اینکه تونل در حال اجرا است یا نه:
ps aux | grep "ssh -N remote-gateway" | grep -v grep
lsof -i :18789
راهاندازی دوباره تونل:
launchctl kickstart -k gui/$UID/ai.openclaw.ssh-tunnel
توقف تونل:
launchctl bootout gui/$UID/ai.openclaw.ssh-tunnel
نحوه کارکرد
| مؤلفه | کارکرد |
|---|---|
LocalForward 18789 127.0.0.1:18789 |
پورت محلی 18789 را به پورت راهدور 18789 هدایت میکند |
ssh -N |
SSH بدون اجرای فرمانهای راهدور، فقط برای هدایت پورت |
KeepAlive |
اگر تونل از کار بیفتد، آن را بهصورت خودکار دوباره راهاندازی میکند |
RunAtLoad |
هنگام بارگذاری عامل، تونل را شروع میکند |
OpenClaw.app روی ماشین کلاینت شما به ws://127.0.0.1:18789 متصل میشود. تونل SSH آن اتصال را به پورت 18789 روی ماشین راهدوری که Gateway روی آن اجرا میشود هدایت میکند.