Di laptop, OpenClaw langsung diam begitu layar ditutup: pesan WhatsApp menumpuk, tugas terjadwal menunggu Anda kembali. Di server, ia terus menjawab. Masalahnya, gateway bukan widget chat. Ia menyimpan kredensial channel Anda dan, kecuali Anda menyalakan sandbox, menjalankan tool langsung di host. Memindahkannya ke mesin yang selalu menyala baru masuk akal kalau model keamanannya ikut pindah.
Panduan ini melakukannya dalam sekitar 20 menit di VPS Ubuntu 24.04 yang baru.
Terakhir diperiksa 2026-10-04 dengan OpenClaw 2026.9.8 (npm), Node 24.21 LTS, dan Ubuntu 24.04.
Yang Anda butuhkan
- Sebuah VPS Linux. Kami memakai paket AI-Agent kami: 4 vCPU, 4 GB RAM, disk 40 GB, $10 per bulan. Dokumentasi OpenClaw menyebut 6 GB RAM, tapi itu untuk membangun image Docker mereka dari kode sumber; paket npm tidak perlu dibangun.
- API key dari penyedia model Anda dan akun chat yang ingin dihubungkan.
- SSH key di laptop. Kalau belum punya: login dengan SSH key.
Paket NAT cocok di sini, bahkan mungkin lebih pas. Gateway tidak pernah butuh port masuk yang terbuka: WhatsApp, Discord, dan Telegram (bawaannya long polling) terhubung ke luar, dan dasbor Anda akses lewat SSH. Ambil IPv4 khusus hanya jika channel yang Anda perlukan mengirim lewat webhook atau Anda berencana memasang reverse proxy publik.
1. User yang bukan root
OpenClaw menjalankan tool sebagai user pemilik gateway. Jika user itu root, maka setiap perintah yang diputuskan oleh model yang bingung atau terkena prompt injection juga berjalan sebagai root. Dokumentasi OpenClaw menyebut menjalankan gateway sebagai root tidak aman dan tidak didukung. Buat user khusus tanpa sudo:
# sebagai 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 yang Anda tambahkan saat order
loginctl enable-linger claw
Baris terakhir lebih penting dari kelihatannya. OpenClaw memasang service systemd user, dan tanpa lingering service itu berhenti saat Anda logout. Inilah "kemarin masih jalan" yang paling sering terjadi di server.
2. Node 24 dan OpenClaw
OpenClaw 2026.9.8 membutuhkan Node >=24.16.0 <25 atau >=26.1.0. Paket nodejs bawaan Ubuntu lebih lama, jadi kita ambil 24 LTS dari NodeSource:
# sebagai root
curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
apt install -y nodejs
node -v # v24.16.0 atau lebih baru
npm install -g openclaw@latest
openclaw --version
Perintah resmi satu baris (curl -fsSL https://openclaw.ai/install.sh | bash) juga berfungsi dan memasang Node untuk Anda. Di server kami lebih suka dua langkah eksplisit: Anda melihat apa yang dipasang di mana, dan binary berada di /usr/bin alih-alih di direktori home yang bisa ditulisi agen.
3. Onboarding sebagai user agen
Login sebagai claw lewat SSH, bukan dengan su. Hanya login sungguhan yang menyalakan user manager systemd yang dibutuhkan service:
# dari laptop (paket NAT: tambahkan -p <port SSH Anda>)
ssh claw@<server>
openclaw onboard --install-daemon
openclaw gateway status
Wizard memeriksa akses model, menulis ~/.openclaw/openclaw.json, membuat token gateway, dan memasang service. Jika systemctl --user mengeluh soal bus, set export XDG_RUNTIME_DIR=/run/user/$(id -u) lalu coba lagi.
Setelah itu kunci file-nya. Rekomendasi OpenClaw sendiri: 700 untuk direktori state dan 600 untuk konfigurasi:
chmod 700 ~/.openclaw && chmod 600 ~/.openclaw/openclaw.json
openclaw security audit --deep
openclaw security audit --fix menerapkan bagian perbaikan yang aman: izin file lebih ketat dan allowlist sebagai ganti kebijakan grup yang terbuka. Ia tidak mengubah alamat listen dan tidak memasang firewall; eksposur jaringan tetap tugas Anda.
4. Biarkan gateway di loopback
Gateway menyajikan API WebSocket dan dasbornya di satu port, 18789, yang secara bawaan terikat ke 127.0.0.1. Biarkan begitu. Konfigurasi minimal yang menuliskannya secara eksplisit:
// ~/.openclaw/openclaw.json
{
gateway: {
mode: "local",
bind: "loopback",
port: 18789,
auth: { mode: "token", token: "paste-output-of-openssl-rand-hex-32" },
},
}
Buat token dengan openssl rand -hex 32 atau openclaw doctor --generate-gateway-token. Gateway menolak token kosong dan nilai contoh, dan audit memberi peringatan jika kurang dari 24 karakter.
Yang jangan dilakukan: mengubah bind menjadi "lan" lalu membuka port. Dokumentasinya tegas: jangan pernah mengekspos gateway tanpa autentikasi di 0.0.0.0, dan jangan meneruskan port secara luas meski pakai token. Siapa pun yang mendapat token itu menjadi operator sebuah proses yang bisa menjalankan perintah di server Anda.
Di sisi firewall, izinkan SSH dan tidak ada yang lain:
# sebagai root
ufw allow OpenSSH
ufw enable
ufw status verbose
Di paket NAT kami, dasbor menampilkan port SSH eksternal, tetapi di dalam server sshd tetap mendengarkan di 22. Izinkan OpenSSH (port 22), bukan nomor port eksternal, atau ufw enable akan mengunci Anda di luar. Selengkapnya di panduan UFW.
5. Akses dasbor lewat SSH
Dari laptop, buka tunnel dan biarkan tetap berjalan:
ssh -N -L 18789:127.0.0.1:18789 claw@<server>
# paket NAT: ssh -N -p <port SSH Anda> -L 18789:127.0.0.1:18789 claw@<host>
Buka http://127.0.0.1:18789/ dan tempel token gateway. sshd bawaan Ubuntu mengizinkan local forwarding; jika Anda sudah memperketatnya, AllowTcpForwarding local adalah setelan yang mengizinkan -L sambil memblokir remote forward. Jika tunnel gagal dengan administratively prohibited, baris itulah yang perlu diperiksa.
Tailnet juga bisa: Tailscale Serve menjaga gateway tetap di loopback dan mengurus aksesnya. Keduanya baik. Port publik tidak.
6. Pairing, sandbox, dan siapa yang boleh bicara dengannya
Channel chat adalah pintu masuk kedua. Secara bawaan, channel yang mendukung pesan langsung mewajibkan pengirim tak dikenal melakukan pairing dulu; Anda menyetujuinya dari server:
openclaw pairing approve <channel> <code>
Di grup, wajibkan mention agar agen tidak membalas setiap pesan di ruangan. Konfigurasi dasar OpenClaw yang diperketat memakai dmPolicy: "pairing" dan groups: { "*": { requireMention: true } } per channel.
Dua catatan jujur. Pertama: pairing mengatur siapa yang boleh memicu giliran, bukan apa yang masuk ke konteks model; pesan yang diteruskan atau halaman web yang diambil tetap bisa mengarahkan giliran yang Anda picu sendiri. Kedua: tool sesi utama berjalan di host sampai Anda menyalakan sandbox (agents.defaults.sandbox.mode: "non-main" mengisolasi semuanya kecuali sesi utama Anda sendiri). Sandbox mati secara bawaan dan backend bawaannya Docker, jadi pasang Docker dulu jika menyalakannya: Docker di VPS. Jika orang yang tidak Anda percayai berbagi channel dengan bot, gunakan gateway terpisah, idealnya di server terpisah.
7. Pembaruan dan backup
openclaw update
openclaw gateway status
openclaw backup create --output ~/backups/openclaw --verify
~/.openclaw berisi konfigurasi, kredensial channel (termasuk sesi WhatsApp), profil auth model, dan transkrip sesi. Kehilangan isinya berarti pairing ulang semuanya; bocor berarti orang lain menjadi Anda di WhatsApp. Backup dan simpan salinannya di luar server: unduh dengan scp atau pakai restic dengan enkripsi.
Daftar periksa
| Pemeriksaan | Perintah | Hasil yang diharapkan |
|---|---|---|
| Gateway tidak berjalan sebagai root | ps -eo user,args | grep '[o]penclaw' | claw di kolom pertama |
| Tetap jalan setelah logout | loginctl show-user claw -p Linger | Linger=yes |
| Hanya mendengarkan di loopback | ss -ltnp | grep 18789 | 127.0.0.1:18789 |
| Tidak ada port publik | ufw status | hanya OpenSSH |
| Konfigurasi tidak bisa dibaca semua orang | stat -c '%a' ~/.openclaw/openclaw.json | 600 |
| Audit bersih | openclaw security audit --deep | tidak ada temuan kritis |
Di mana EQVPS berperan
Banyak penyedia bisa menjalankan proses Node. Yang kami tambahkan: pembayaran kripto tanpa KYC, paket NAT yang pas untuk gateway yang hanya mendengarkan di loopback, dan server MCP yang bisa dipakai agen Anda untuk mengelola servernya sendiri. Jika Anda menghubungkan OpenClaw ke sana, baca dulu pengaman MCP: token yang bisa memesan server layak dijaga sama hati-hatinya dengan token gateway. Untuk gambaran lebih luas tentang agen di VPS, lihat panduan agen AI.
Pendapat kami: 20 menit ini adalah beda antara asisten dan shell terbuka dengan antarmuka chat. Lakukan setidaknya langkah 1, 4, dan 5, meski Anda melewatkan sisanya.
Komentar
Belum ada komentar. Jadilah yang pertama.