−25%

cho Windows trả theo năm, đến 31/10. Xem các gói

EQVPS
Bắt đầu

Chạy OpenClaw 24/7 trên VPS: cài đặt an toàn

Chạy gateway OpenClaw trên một máy chủ không bao giờ ngủ, mà không đưa một agent có quyền chạy lệnh ra internet công khai. User riêng, gateway chỉ trên cổng loopback 18789, tunnel SSH, pairing và sao lưu.

Trên laptop, OpenClaw im bặt ngay khi gập màn hình: tin nhắn WhatsApp dồn lại, các tác vụ hẹn giờ chờ bạn quay lại. Trên máy chủ, nó vẫn tiếp tục trả lời. Vấn đề là gateway không phải một widget chat. Nó giữ thông tin đăng nhập của các kênh và, nếu bạn không bật sandbox, chạy công cụ thẳng trên host. Chuyển nó sang một máy luôn bật chỉ đáng làm khi mô hình bảo mật cũng được chuyển theo.

Hướng dẫn này làm việc đó trong khoảng 20 phút trên một VPS Ubuntu 24.04 mới.

Kiểm tra lần cuối ngày 2026-10-04 với OpenClaw 2026.9.8 (npm), Node 24.21 LTS và Ubuntu 24.04.

Bạn cần gì

  • Một VPS Linux. Chúng tôi dùng gói AI-Agent: 4 vCPU, 4 GB RAM, ổ 40 GB, $10 mỗi tháng. Tài liệu OpenClaw có nhắc tới 6 GB RAM, nhưng đó là để build image Docker của họ từ mã nguồn; gói npm không cần build.
  • Một API key từ nhà cung cấp mô hình và các tài khoản chat bạn muốn kết nối.
  • Một SSH key trên laptop. Nếu chưa có: đăng nhập bằng SSH key.

Gói NAT dùng ở đây rất ổn, thậm chí có lẽ còn hợp hơn. Gateway không bao giờ cần một cổng vào đang mở: WhatsApp, Discord và Telegram (mặc định long polling) tự kết nối ra ngoài, và bạn vào bảng điều khiển qua SSH. Chỉ lấy IPv4 riêng nếu một kênh bạn cần gửi tin qua webhook hoặc bạn định đặt reverse proxy công khai phía trước.

1. Một user không phải root

OpenClaw chạy công cụ dưới quyền user sở hữu gateway. Nếu user đó là root, thì mọi lệnh mà một mô hình bị rối hoặc bị prompt injection quyết định chạy cũng chạy bằng root. Tài liệu OpenClaw gọi việc chạy gateway bằng root là không an toàn và không được hỗ trợ. Tạo một user riêng không có sudo:

# với quyền 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   # key bạn đã thêm khi đặt mua
loginctl enable-linger claw

Dòng cuối quan trọng hơn vẻ ngoài của nó. OpenClaw cài một dịch vụ systemd cấp user, và không có lingering thì dịch vụ đó dừng khi bạn đăng xuất. Đây là câu "hôm qua vẫn chạy mà" phổ biến nhất trên máy chủ.

2. Node 24 và OpenClaw

OpenClaw 2026.9.8 yêu cầu Node >=24.16.0 <25 hoặc >=26.1.0. Gói nodejs của Ubuntu cũ hơn, nên ta lấy bản 24 LTS từ NodeSource:

# với quyền root
curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
apt install -y nodejs
node -v          # v24.16.0 hoặc mới hơn
npm install -g openclaw@latest
openclaw --version

Lệnh chính thức một dòng (curl -fsSL https://openclaw.ai/install.sh | bash) cũng chạy được và tự cài Node cho bạn. Trên máy chủ, chúng tôi thích hai bước rõ ràng hơn: bạn thấy cái gì nằm ở đâu, và file thực thi nằm trong /usr/bin thay vì trong thư mục home mà agent có thể ghi vào.

3. Onboarding với user của agent

Đăng nhập bằng claw qua SSH, không dùng su. Chỉ một lần đăng nhập thật mới khởi động user manager của systemd mà dịch vụ cần:

# từ laptop (gói NAT: thêm -p <cổng SSH của bạn>)
ssh claw@<server>

openclaw onboard --install-daemon
openclaw gateway status

Trình hướng dẫn kiểm tra quyền truy cập mô hình, ghi ~/.openclaw/openclaw.json, tạo token gateway và cài dịch vụ. Nếu systemctl --user báo lỗi về bus, hãy đặt export XDG_RUNTIME_DIR=/run/user/$(id -u) rồi chạy lại.

Sau đó khóa các file lại. Khuyến nghị của chính OpenClaw là 700 cho thư mục trạng thái và 600 cho file cấu hình:

chmod 700 ~/.openclaw && chmod 600 ~/.openclaw/openclaw.json
openclaw security audit --deep

openclaw security audit --fix áp dụng phần sửa lỗi an toàn: quyền file chặt hơn và allowlist thay cho chính sách nhóm mở. Nó không đổi địa chỉ lắng nghe và không dựng tường lửa; việc phơi ra mạng vẫn là trách nhiệm của bạn.

4. Giữ gateway trên loopback

Gateway phục vụ API WebSocket và bảng điều khiển trên một cổng duy nhất, 18789, mặc định gắn với 127.0.0.1. Cứ để nguyên như vậy. Một cấu hình tối thiểu ghi rõ điều đó:

// ~/.openclaw/openclaw.json
{
  gateway: {
    mode: "local",
    bind: "loopback",
    port: 18789,
    auth: { mode: "token", token: "paste-output-of-openssl-rand-hex-32" },
  },
}

Tạo token bằng openssl rand -hex 32 hoặc openclaw doctor --generate-gateway-token. Gateway từ chối token rỗng và các giá trị mẫu, còn bản kiểm tra cảnh báo nếu token ngắn hơn 24 ký tự.

Điều không nên làm: đặt bind thành "lan" rồi mở cổng. Tài liệu nói thẳng: đừng bao giờ để gateway không xác thực trên 0.0.0.0, và đừng chuyển tiếp cổng rộng rãi kể cả khi có token. Ai lấy được token đó sẽ thành người điều khiển một tiến trình có thể chạy lệnh trên máy chủ của bạn.

Về tường lửa, chỉ cho phép SSH, không gì khác:

# với quyền root
ufw allow OpenSSH
ufw enable
ufw status verbose

Với các gói NAT của chúng tôi, bảng điều khiển hiển thị một cổng SSH bên ngoài, nhưng bên trong máy chủ sshd vẫn lắng nghe ở cổng 22. Hãy cho phép OpenSSH (cổng 22), không phải số cổng bên ngoài, nếu không ufw enable sẽ khóa bạn ở ngoài. Xem thêm trong hướng dẫn UFW.

5. Vào bảng điều khiển qua SSH

Từ laptop, mở một tunnel và để nó chạy:

ssh -N -L 18789:127.0.0.1:18789 claw@<server>
# gói NAT: ssh -N -p <cổng SSH của bạn> -L 18789:127.0.0.1:18789 claw@<host>

Mở http://127.0.0.1:18789/ và dán token gateway. sshd mặc định của Ubuntu cho phép chuyển tiếp cục bộ; nếu bạn đã siết chặt nó, AllowTcpForwarding local là thiết lập cho phép -L và chặn chuyển tiếp từ xa. Nếu tunnel báo lỗi administratively prohibited, đó chính là dòng cần kiểm tra.

Một tailnet cũng được: Tailscale Serve giữ gateway trên loopback và tự quản lý quyền truy cập. Cả hai đều ổn. Một cổng công khai thì không.

6. Pairing, sandbox và ai được nói chuyện với nó

Các kênh chat là lối vào thứ hai. Mặc định, các kênh có tin nhắn riêng bắt người gửi lạ phải pairing trước; bạn duyệt từ máy chủ:

openclaw pairing approve <channel> <code>

Trong nhóm, hãy yêu cầu nhắc tên để agent không trả lời mọi tin trong phòng. Cấu hình cơ sở đã siết chặt của OpenClaw dùng dmPolicy: "pairing" và groups: { "*": { requireMention: true } } cho từng kênh.

Hai lưu ý thẳng thắn. Thứ nhất: pairing quyết định ai được kích hoạt một lượt, chứ không quyết định thứ gì lọt vào ngữ cảnh của mô hình; một tin nhắn chuyển tiếp hay một trang web được tải về vẫn có thể lái một lượt do chính bạn kích hoạt. Thứ hai: công cụ của phiên chính chạy trên host cho tới khi bạn bật sandbox (agents.defaults.sandbox.mode: "non-main" cô lập mọi thứ trừ phiên chính của bạn). Sandbox tắt theo mặc định và backend mặc định của nó là Docker, nên hãy cài Docker trước khi bật: Docker trên VPS. Nếu những người bạn không tin tưởng dùng chung kênh với bot, hãy dùng một gateway riêng, tốt nhất trên một máy chủ riêng.

7. Cập nhật và sao lưu

openclaw update
openclaw gateway status
openclaw backup create --output ~/backups/openclaw --verify

~/.openclaw chứa cấu hình, thông tin đăng nhập các kênh (kể cả phiên WhatsApp), hồ sơ xác thực mô hình và bản ghi các phiên. Mất nó nghĩa là phải pairing lại mọi thứ; lộ nó nghĩa là người khác trở thành bạn trên WhatsApp. Hãy sao lưu và giữ bản sao ở ngoài máy chủ: tải về bằng scp hoặc dùng restic có mã hóa.

Danh sách kiểm tra

Kiểm traLệnhKết quả mong đợi
Gateway không chạy bằng rootps -eo user,args | grep '[o]penclaw'claw ở cột đầu tiên
Vẫn chạy sau khi đăng xuấtloginctl show-user claw -p LingerLinger=yes
Chỉ lắng nghe trên loopbackss -ltnp | grep 18789127.0.0.1:18789
Không có cổng công khaiufw statuschỉ OpenSSH
Cấu hình không ai cũng đọc đượcstat -c '%a' ~/.openclaw/openclaw.json600
Kiểm tra sạchopenclaw security audit --deepkhông có phát hiện nghiêm trọng

EQVPS phù hợp ở đâu

Nhiều nhà cung cấp có thể chạy một tiến trình Node. Điều chúng tôi thêm vào là thanh toán bằng crypto không cần KYC, một gói NAT hợp với gateway chỉ lắng nghe trên loopback, và một máy chủ MCP mà agent của bạn có thể dùng để quản lý máy chủ của chính nó. Nếu bạn kết nối OpenClaw với nó, hãy đọc hàng rào an toàn MCP trước: một token có thể đặt mua máy chủ đáng được giữ cẩn thận như token gateway. Để có cái nhìn rộng hơn về agent trên VPS, xem hướng dẫn về AI agent.

Quan điểm của chúng tôi: 20 phút này là khác biệt giữa một trợ lý và một shell mở có giao diện chat. Dù bỏ qua phần còn lại, hãy làm ít nhất các bước 1, 4 và 5.

Sẵn sàng triển khai? Thanh toán bằng crypto, không KYC — trực tuyến trong khoảng một phút.

Triển khai ngay →

FAQ

OpenClaw cần Node.js phiên bản nào?

Node 24.16 trở lên trong nhánh 24, hoặc từ 26.1 trở lên. Gói npm (openclaw 2026.9.8 tại thời điểm viết) từ chối các phiên bản khác, nên Node 22 là không đủ. Trên Ubuntu, kho NodeSource 24.x cung cấp bản 24 LTS hiện tại.

Có nên mở cổng 18789 ra internet không?

Không. Mặc định gateway lắng nghe trên loopback (127.0.0.1:18789) và nên giữ nguyên ở đó. Truy cập bảng điều khiển qua tunnel SSH. Gắn vào LAN hay 0.0.0.0 nghĩa là giữa người lạ và một tiến trình có thể chạy lệnh trên máy chủ chỉ còn một token có thể bị lộ.

VPS NAT không có IPv4 riêng có dùng được cho OpenClaw không?

Được, với hầu hết cách dùng. WhatsApp, Discord và Telegram (mặc định long polling) tự kết nối ra ngoài, còn bảng điều khiển đi qua tunnel SSH trên cổng SSH được chuyển tiếp của bạn. Chỉ cần IPv4 riêng cho các kênh gửi tin qua webhook hoặc khi bạn đặt một reverse proxy công khai phía trước.

OpenClaw cần bao nhiêu RAM trên VPS?

Bản thân gateway khá nhẹ. Con số 6 GB trong tài liệu OpenClaw là để build image Docker từ mã nguồn. Với gói npm thì không cần biên dịch gì; chúng tôi chạy nó trên gói AI-Agent (4 vCPU, 4 GB RAM, ổ 40 GB), vẫn dư cho công cụ trình duyệt và sandbox.

OpenClaw có tiếp tục chạy sau khi tôi thoát SSH không?

Chỉ khi bạn bật lingering cho user sở hữu dịch vụ: sudo loginctl enable-linger <user>. OpenClaw cài một unit systemd cấp user, và nếu không có lingering thì user manager sẽ dừng cùng phiên cuối cùng của bạn.

Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên.

Để lại bình luận

Bình luận được kiểm duyệt trước khi hiển thị.