Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

दूरस्थ Gateway के साथ OpenClaw.app चलाना

OpenClaw.app रिमोट गेटवे से कनेक्ट करने के लिए SSH टनलिंग का उपयोग करता है। यह गाइड आपको इसे सेट अप करने का तरीका दिखाती है।

अवलोकन

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryColor': '#ffffff',
    'primaryTextColor': '#000000',
    'primaryBorderColor': '#000000',
    'lineColor': '#000000',
    'secondaryColor': '#f9f9fb',
    'tertiaryColor': '#ffffff',
    'clusterBkg': '#f9f9fb',
    'clusterBorder': '#000000',
    'nodeBorder': '#000000',
    'mainBkg': '#ffffff',
    'edgeLabelBackground': '#ffffff'
  }
}}%%
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 Config जोड़ें

~/.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 टोकन सेट करें

launchctl setenv OPENCLAW_GATEWAY_TOKEN "<your-token>"

चरण 4: SSH टनल प्रारंभ करें

ssh -N remote-gateway &

चरण 5: OpenClaw.app पुनः प्रारंभ करें

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

अब ऐप SSH टनल के माध्यम से दूरस्थ Gateway से कनेक्ट होगा।


लॉगिन पर टनल स्वतः प्रारंभ करें

लॉगिन करते समय SSH टनल को स्वतः प्रारंभ कराने के लिए, एक Launch Agent बनाएँ।

PLIST फ़ाइल बनाएँ

इसे ~/Library/LaunchAgents/bot.molt.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>bot.molt.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/bot.molt.ssh-tunnel.plist

अब टनल यह करेगी:

  • लॉगिन करते ही स्वतः प्रारंभ होगी
  • क्रैश होने पर पुनः प्रारंभ होगी
  • पृष्ठभूमि में चलती रहेगी

विरासत नोट: यदि मौजूद हो, तो किसी भी शेष com.openclaw.ssh-tunnel LaunchAgent को हटा दें।


समस्या-निवारण

जाँचें कि टनल चल रही है या नहीं:

ps aux | grep "ssh -N remote-gateway" | grep -v grep
lsof -i :18789

टनल पुनः प्रारंभ करें:

launchctl kickstart -k gui/$UID/bot.molt.ssh-tunnel

टनल रोकें:

launchctl bootout gui/$UID/bot.molt.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 पर फ़ॉरवर्ड करती है जहाँ गेटवे चल रहा है।