लैपटॉप पर ढक्कन बंद होते ही OpenClaw चुप हो जाता है: WhatsApp संदेश जमा होते रहते हैं, शेड्यूल किए काम आपके लौटने का इंतज़ार करते हैं। सर्वर पर वह जवाब देता रहता है। दिक़्क़त यह है कि गेटवे कोई चैट विजेट नहीं है। उसके पास आपके चैनलों के क्रेडेंशियल होते हैं और, जब तक आप सैंडबॉक्स चालू न करें, वह टूल सीधे होस्ट पर चलाता है। उसे हमेशा चालू मशीन पर ले जाना तभी फ़ायदेमंद है जब सुरक्षा मॉडल भी साथ जाए।
यह गाइड यह काम नए Ubuntu 24.04 VPS पर लगभग 20 मिनट में करती है।
आख़िरी जाँच 2026-10-04: OpenClaw 2026.9.8 (npm), Node 24.21 LTS और Ubuntu 24.04।
आपको क्या चाहिए
- एक Linux VPS। हम अपना AI-Agent प्लान इस्तेमाल करते हैं: 4 vCPU, 4 GB RAM, 40 GB डिस्क, $10 प्रति माह। OpenClaw डॉक्स 6 GB RAM बताते हैं, पर वह उनकी Docker इमेज सोर्स से बनाने के लिए है; npm पैकेज को बिल्ड की ज़रूरत नहीं।
- अपने मॉडल प्रोवाइडर की API कुंजी और वे चैट अकाउंट जिन्हें आप जोड़ना चाहते हैं।
- लैपटॉप पर एक SSH कुंजी। अगर अभी नहीं है: SSH कुंजी से लॉग-इन।
यहाँ NAT प्लान बढ़िया चलता है, शायद और भी बेहतर बैठता है। गेटवे को कभी खुले इनबाउंड पोर्ट की ज़रूरत नहीं होती: WhatsApp, Discord और Telegram (डिफ़ॉल्ट long polling) बाहर की ओर कनेक्ट होते हैं, और डैशबोर्ड तक आप SSH से पहुँचते हैं। अलग IPv4 सिर्फ़ तब लें जब आपका कोई ज़रूरी चैनल webhook से डिलीवर करता हो या आप पब्लिक रिवर्स प्रॉक्सी लगाने वाले हों।
1. ऐसा यूज़र जो root नहीं है
OpenClaw टूल उसी यूज़र के रूप में चलाता है जो गेटवे का मालिक है। अगर वह root है, तो कोई उलझा हुआ या prompt injection से बहकाया गया मॉडल जो भी कमांड चलाना तय करे, वह भी root बनकर चलेगी। OpenClaw डॉक्स गेटवे को root से चलाना असुरक्षित और असमर्थित बताते हैं। बिना sudo वाला एक अलग यूज़र बनाएँ:
# root के रूप में
apt update && apt -y upgrade
adduser --disabled-password --gecos "" claw
install -d -m 700 -o claw -g claw /home/claw/.ssh
install -m 600 -o claw -g claw ~/.ssh/authorized_keys /home/claw/.ssh/authorized_keys # ऑर्डर के समय जोड़ी गई कुंजी
loginctl enable-linger claw
आख़िरी लाइन जितनी दिखती है उससे ज़्यादा अहम है। OpenClaw एक systemd यूज़र सर्विस इंस्टॉल करता है, और lingering के बिना वह सर्विस लॉग आउट करते ही रुक जाती है। सर्वरों पर सबसे आम "कल तो चल रहा था" यही है।
2. Node 24 और OpenClaw
OpenClaw 2026.9.8 को Node >=24.16.0 <25 या >=26.1.0 चाहिए। Ubuntu का अपना nodejs पैकेज पुराना है, इसलिए हम NodeSource से 24 LTS लेते हैं:
# root के रूप में
curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
apt install -y nodejs
node -v # v24.16.0 या नया
npm install -g openclaw@latest
openclaw --version
आधिकारिक वन-लाइनर (curl -fsSL https://openclaw.ai/install.sh | bash) भी काम करता है और Node ख़ुद इंस्टॉल कर देता है। सर्वर पर हमें दो साफ़ क़दम पसंद हैं: दिखता है कि क्या कहाँ गया, और बाइनरी /usr/bin में रहती है, न कि किसी होम डायरेक्टरी में जहाँ एजेंट लिख सकता है।
3. एजेंट यूज़र के रूप में onboarding
claw के रूप में SSH से लॉग-इन करें, su से नहीं। सिर्फ़ असली लॉग-इन ही वह systemd यूज़र मैनेजर शुरू करता है जिसकी सर्विस को ज़रूरत है:
# लैपटॉप से (NAT प्लान: -p <आपका SSH पोर्ट> जोड़ें)
ssh claw@<server>
openclaw onboard --install-daemon
openclaw gateway status
विज़ार्ड मॉडल एक्सेस जाँचता है, ~/.openclaw/openclaw.json लिखता है, गेटवे टोकन बनाता है और सर्विस इंस्टॉल करता है। अगर systemctl --user बस को लेकर शिकायत करे, तो export XDG_RUNTIME_DIR=/run/user/$(id -u) सेट करें और फिर चलाएँ।
फिर फ़ाइलों को कसें। OpenClaw की अपनी सलाह है: स्टेट डायरेक्टरी पर 700 और कॉन्फ़िग पर 600:
chmod 700 ~/.openclaw && chmod 600 ~/.openclaw/openclaw.json
openclaw security audit --deep
openclaw security audit --fix सुधारों का सुरक्षित हिस्सा लागू करता है: सख़्त फ़ाइल अनुमतियाँ, और खुली ग्रुप पॉलिसी की जगह अनुमति-सूचियाँ। यह सुनने का पता नहीं बदलता और फ़ायरवॉल नहीं लगाता; नेटवर्क एक्सपोज़र अब भी आपकी ज़िम्मेदारी है।
4. गेटवे को loopback पर रखें
गेटवे अपना WebSocket API और डैशबोर्ड एक ही पोर्ट 18789 पर देता है, जो डिफ़ॉल्ट रूप से 127.0.0.1 से बँधा होता है। इसे ऐसे ही रहने दें। एक न्यूनतम कॉन्फ़िग जो यह साफ़ लिखता है:
// ~/.openclaw/openclaw.json
{
gateway: {
mode: "local",
bind: "loopback",
port: 18789,
auth: { mode: "token", token: "paste-output-of-openssl-rand-hex-32" },
},
}
टोकन openssl rand -hex 32 या openclaw doctor --generate-gateway-token से बनाएँ। गेटवे ख़ाली टोकन और उदाहरण वाले मान स्वीकार नहीं करता, और ऑडिट 24 अक्षरों से कम पर चेतावनी देता है।
क्या नहीं करना है: bind को "lan" करके पोर्ट खोलना। डॉक्स इस पर साफ़ हैं: गेटवे को कभी बिना ऑथेंटिकेशन के 0.0.0.0 पर न खोलें, और टोकन होने पर भी पोर्ट को खुले हाथ फ़ॉरवर्ड न करें। जिसके हाथ यह टोकन लगेगा, वह आपके सर्वर पर कमांड चला सकने वाली प्रक्रिया का ऑपरेटर बन जाएगा।
फ़ायरवॉल में सिर्फ़ SSH की अनुमति दें, और कुछ नहीं:
# root के रूप में
ufw allow OpenSSH
ufw enable
ufw status verbose
हमारे NAT प्लान पर डैशबोर्ड एक बाहरी SSH पोर्ट दिखाता है, लेकिन सर्वर के अंदर sshd अब भी 22 पर सुनता है। OpenSSH (पोर्ट 22) की अनुमति दें, बाहरी पोर्ट नंबर की नहीं, वरना ufw enable आपको बाहर कर देगा। ज़्यादा जानकारी UFW गाइड में।
5. SSH से डैशबोर्ड तक पहुँचें
लैपटॉप से एक टनल खोलें और उसे चलता रहने दें:
ssh -N -L 18789:127.0.0.1:18789 claw@<server>
# NAT प्लान: ssh -N -p <आपका SSH पोर्ट> -L 18789:127.0.0.1:18789 claw@<host>
http://127.0.0.1:18789/ खोलें और गेटवे टोकन पेस्ट करें। Ubuntu का डिफ़ॉल्ट sshd लोकल फ़ॉरवर्डिंग की अनुमति देता है; अगर आपने उसे सख़्त किया है, तो AllowTcpForwarding local वह सेटिंग है जो -L की अनुमति देती है और रिमोट फ़ॉरवर्ड रोकती है। अगर टनल administratively prohibited के साथ फ़ेल हो, तो यही लाइन जाँचें।
tailnet भी चलेगा: Tailscale Serve गेटवे को loopback पर रखता है और एक्सेस संभालता है। दोनों ठीक हैं। पब्लिक पोर्ट नहीं।
6. पेयरिंग, सैंडबॉक्स और कौन उससे बात कर सकता है
चैट चैनल दूसरा दरवाज़ा हैं। डिफ़ॉल्ट रूप से, DM वाले चैनल अनजान भेजने वालों से पहले पेयरिंग करवाते हैं; मंज़ूरी आप सर्वर से देते हैं:
openclaw pairing approve <channel> <code>
ग्रुप में मेंशन ज़रूरी करें, ताकि एजेंट कमरे के हर संदेश का जवाब न दे। OpenClaw का हार्डन्ड बेसलाइन हर चैनल के लिए dmPolicy: "pairing" और groups: { "*": { requireMention: true } } इस्तेमाल करता है।
दो ईमानदार चेतावनियाँ। पहली: पेयरिंग यह तय करती है कि कौन एक टर्न शुरू कर सकता है, यह नहीं कि मॉडल के कॉन्टेक्स्ट में क्या पहुँचता है; कोई फ़ॉरवर्ड किया संदेश या खींचा गया वेब पेज अब भी आपके शुरू किए टर्न को मोड़ सकता है। दूसरी: जब तक आप सैंडबॉक्स चालू न करें, मुख्य सेशन के टूल होस्ट पर चलते हैं (agents.defaults.sandbox.mode: "non-main" आपके अपने मुख्य सेशन को छोड़कर सब कुछ सैंडबॉक्स में रखता है)। सैंडबॉक्स डिफ़ॉल्ट रूप से बंद है और उसका डिफ़ॉल्ट बैकएंड Docker है, इसलिए चालू करने से पहले Docker इंस्टॉल करें: VPS पर Docker। अगर जिन लोगों पर आपको भरोसा नहीं, वे बॉट के साथ एक ही चैनल में हैं, तो अलग गेटवे इस्तेमाल करें, बेहतर हो कि अलग सर्वर पर।
7. अपडेट और बैकअप
openclaw update
openclaw gateway status
openclaw backup create --output ~/backups/openclaw --verify
~/.openclaw में कॉन्फ़िग, चैनल क्रेडेंशियल (WhatsApp सेशन समेत), मॉडल ऑथ प्रोफ़ाइल और सेशन ट्रांसक्रिप्ट होते हैं। इसे खोया तो सब कुछ दोबारा पेयर करना पड़ेगा; लीक हुआ तो WhatsApp पर कोई और आप बन जाएगा। बैकअप लें और कॉपी सर्वर से बाहर रखें: scp से डाउनलोड करें या एन्क्रिप्शन के साथ restic इस्तेमाल करें।
चेकलिस्ट
| जाँच | कमांड | अपेक्षित |
|---|---|---|
| गेटवे root से नहीं चल रहा | ps -eo user,args | grep '[o]penclaw' | पहले कॉलम में claw |
| लॉग आउट के बाद भी चलता है | loginctl show-user claw -p Linger | Linger=yes |
| सिर्फ़ loopback पर सुनता है | ss -ltnp | grep 18789 | 127.0.0.1:18789 |
| कोई पब्लिक पोर्ट नहीं | ufw status | सिर्फ़ OpenSSH |
| कॉन्फ़िग सबके लिए पढ़ने योग्य नहीं | stat -c '%a' ~/.openclaw/openclaw.json | 600 |
| ऑडिट साफ़ | openclaw security audit --deep | कोई गंभीर समस्या नहीं |
EQVPS कहाँ काम आता है
Node प्रक्रिया बहुत से प्रोवाइडर चला सकते हैं। हम जोड़ते हैं: बिना KYC क्रिप्टो भुगतान, सिर्फ़ loopback पर सुनने वाले गेटवे के लिए सही बैठने वाला NAT प्लान, और एक MCP सर्वर जिससे आपका एजेंट अपने सर्वर ख़ुद संभाल सके। अगर आप OpenClaw को उससे जोड़ते हैं, तो पहले MCP सुरक्षा-सीमाएँ पढ़ें: सर्वर ऑर्डर कर सकने वाला टोकन उतनी ही सावधानी का हक़दार है जितना गेटवे टोकन। VPS पर एजेंट चलाने पर व्यापक नज़र के लिए AI एजेंट गाइड देखें।
हमारी राय: ये 20 मिनट एक असिस्टेंट और चैट इंटरफ़ेस वाले खुले shell के बीच का फ़र्क़ हैं। बाक़ी छोड़ भी दें, तो क़दम 1, 4 और 5 ज़रूर करें।
टिप्पणियाँ
अभी तक कोई टिप्पणी नहीं। पहले बनें।