روی لپتاپ، OpenClaw همان لحظه که درش بسته میشود ساکت میشود: پیامهای WhatsApp روی هم جمع میشوند و کارهای زمانبندیشده منتظر برگشت شما میمانند. روی سرور به جواب دادن ادامه میدهد. مشکل اینجاست که گیتوی یک ویجت چت نیست. اطلاعات ورود کانالهای شما را نگه میدارد و تا وقتی سندباکس را روشن نکنید، ابزارها را مستقیم روی میزبان اجرا میکند. بردنش روی ماشینی که همیشه روشن است فقط وقتی میارزد که مدل امنیتی هم همراهش جابهجا شود.
این راهنما این کار را در حدود ۲۰ دقیقه روی یک VPS تازه با Ubuntu 24.04 انجام میدهد.
آخرین بررسی 2026-10-04 با OpenClaw 2026.9.8 (npm)، Node 24.21 LTS و Ubuntu 24.04.
چه چیزهایی لازم دارید
- یک VPS لینوکسی. ما از پلن AI-Agent خودمان استفاده میکنیم: 4 vCPU، 4 GB RAM، 40 GB دیسک، ماهی ۱۰ دلار. مستندات OpenClaw از 6 GB RAM حرف میزند، اما آن برای ساختن ایمیج Docker خودشان از کد منبع است؛ بسته npm نیازی به build ندارد.
- کلید API از ارائهدهنده مدل و حسابهای پیامرسانی که میخواهید وصل کنید.
- یک کلید SSH روی لپتاپ. اگر هنوز ندارید: ورود با کلید SSH.
پلن NAT اینجا کاملاً جواب میدهد و شاید حتی مناسبتر باشد. گیتوی هیچوقت به پورت ورودی باز نیاز ندارد: WhatsApp، Discord و Telegram (پیشفرض long polling) به بیرون وصل میشوند و به داشبورد از طریق SSH میرسید. IPv4 اختصاصی را فقط وقتی بگیرید که کانالی که لازم دارید با webhook پیام میرساند یا قصد دارید یک reverse proxy عمومی بگذارید.
۱. کاربری که root نیست
OpenClaw ابزارها را با کاربری اجرا میکند که مالک گیتوی است. اگر آن کاربر root باشد، هر فرمانی که یک مدل گیج یا فریبخورده با تزریق پرامپت تصمیم به اجرایش بگیرد هم با 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 این سرویس با خروج شما متوقف میشود. رایجترین «دیروز کار میکرد» روی سرورها همین است.
۲. Node 24 و OpenClaw
OpenClaw 2026.9.8 به Node >=24.16.0 <25 یا >=26.1.0 نیاز دارد. بسته nodejs خود Ubuntu قدیمیتر است، پس 24 LTS را از NodeSource میگیریم:
# بهعنوان 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 قرار میگیرد، نه در پوشه خانگیای که ایجنت میتواند در آن بنویسد.
۳. راهاندازی اولیه با کاربر ایجنت
بهعنوان claw و از طریق SSH وارد شوید، نه با su. فقط یک ورود واقعی مدیر کاربری systemd را که سرویس به آن نیاز دارد راه میاندازد:
# از لپتاپ (پلن NAT: -p <پورت SSH شما> را اضافه کنید)
ssh claw@<server>
openclaw onboard --install-daemon
openclaw gateway status
ویزارد دسترسی به مدل را بررسی میکند، ~/.openclaw/openclaw.json را مینویسد، توکن گیتوی را میسازد و سرویس را نصب میکند. اگر systemctl --user از bus شکایت کرد، 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 بخش امن اصلاحات را اعمال میکند: مجوزهای سختگیرانهتر برای فایلها و فهرست مجاز بهجای سیاستهای گروهی باز. نشانی گوشدادن را عوض نمیکند و فایروال هم نمیگذارد؛ در معرض شبکه بودن همچنان کار شماست.
۴. گیتوی را روی loopback نگه دارید
گیتوی 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 بسازید. گیتوی توکن خالی و مقدارهای نمونه را نمیپذیرد و ممیزی برای کمتر از ۲۴ نویسه هشدار میدهد.
کاری که نباید بکنید: 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.
۵. دسترسی به داشبورد از طریق 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/ را باز کنید و توکن گیتوی را بچسبانید. sshd پیشفرض Ubuntu فوروارد محلی را مجاز میداند؛ اگر آن را سختگیر کردهاید، AllowTcpForwarding local همان تنظیمی است که -L را مجاز و فورواردهای راه دور را مسدود میکند. اگر تونل با administratively prohibited شکست خورد، همین خط را بررسی کنید.
tailnet هم جواب میدهد: Tailscale Serve گیتوی را روی loopback نگه میدارد و دسترسی را مدیریت میکند. هر دو خوباند. پورت عمومی نه.
۶. جفتسازی، سندباکس و اینکه چه کسی میتواند با آن حرف بزند
کانالهای چت در دوم ورود هستند. بهطور پیشفرض، کانالهایی که پیام خصوصی دارند فرستندههای ناشناس را وادار به جفتسازی میکنند؛ تأیید را شما از سرور میدهید:
openclaw pairing approve <channel> <code>
در گروهها منشن را اجباری کنید تا ایجنت به هر پیامی در اتاق جواب ندهد. پیکربندی پایه سختگیرانه OpenClaw برای هر کانال از dmPolicy: "pairing" و groups: { "*": { requireMention: true } } استفاده میکند.
دو هشدار صادقانه. اول: جفتسازی تعیین میکند چه کسی میتواند یک نوبت را شروع کند، نه اینکه چه چیزی وارد کانتکست مدل میشود؛ یک پیام فورواردشده یا صفحه وب دریافتشده هنوز میتواند نوبتی را که خودتان شروع کردهاید هدایت کند. دوم: تا وقتی سندباکس را روشن نکنید، ابزارهای نشست اصلی روی میزبان اجرا میشوند (agents.defaults.sandbox.mode: "non-main" همه چیز جز نشست اصلی خودتان را در سندباکس میگذارد). سندباکس بهطور پیشفرض خاموش است و بکاند پیشفرضش Docker است، پس پیش از روشن کردن، Docker را نصب کنید: Docker روی VPS. اگر کسانی که به آنها اعتماد ندارید کانالی را با بات شریکاند، یک گیتوی جدا استفاده کنید، ترجیحاً روی سروری جدا.
۷. بهروزرسانی و پشتیبانگیری
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، پلن NAT که با گیتوی فقط-loopback جور است، و یک سرور MCP که ایجنت شما میتواند با آن سرورهای خودش را مدیریت کند. اگر OpenClaw را به آن وصل میکنید، اول محافظهای MCP را بخوانید: توکنی که میتواند سرور سفارش دهد، به همان اندازه توکن گیتوی مراقبت لازم دارد. برای نگاهی گستردهتر به اجرای ایجنت روی VPS، راهنمای ایجنت هوش مصنوعی را ببینید.
نظر ما: این ۲۰ دقیقه فرق بین یک دستیار و یک shell باز با رابط چت است. حتی اگر بقیه را رد کنید، دستکم گامهای ۱، ۴ و ۵ را انجام دهید.
نظرات
هنوز نظری نیست. اولین نفر باشید.