Remote access

إعداد Gateway عن بُعد

دُمج هذا المحتوى في الوصول عن بُعد. راجع تلك الصفحة للاطلاع على الدليل الحالي.

تشغيل OpenClaw.app باستخدام Gateway بعيد

يستخدم OpenClaw.app نفق SSH للاتصال بـ Gateway بعيد. يوضح لك هذا الدليل كيفية إعداده.

نظرة عامة

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

الإعداد السريع

الخطوة 1: إضافة إعداد 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> بالقيم الخاصة بك.

الخطوة 2: نسخ مفتاح SSH

انسخ مفتاحك العام إلى الجهاز البعيد (أدخل كلمة المرور مرة واحدة):

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

الخطوة 3: إعداد مصادقة Gateway البعيد

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

استخدم gateway.remote.password بدلاً من ذلك إذا كان Gateway البعيد لديك يستخدم مصادقة بكلمة مرور. لا يزال OPENCLAW_GATEWAY_TOKEN صالحاً كتجاوز على مستوى الصدفة، لكن إعداد العميل البعيد الدائم هو gateway.remote.token / gateway.remote.password.

الخطوة 4: بدء نفق SSH

ssh -N remote-gateway &

الخطوة 5: إعادة تشغيل OpenClaw.app

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

سيتصل التطبيق الآن بـ Gateway البعيد عبر نفق SSH.


بدء النفق تلقائياً عند تسجيل الدخول

لجعل نفق SSH يبدأ تلقائياً عند تسجيل الدخول، أنشئ Launch Agent.

إنشاء ملف 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>

تحميل Launch Agent

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.

ذو صلة