−25%

на річну оплату Windows, до 31.10. До тарифів

EQVPS
Почати

OpenClaw 24/7 на VPS: безпечне встановлення

Запустіть шлюз OpenClaw на сервері, який не засинає, і не виставляйте в інтернет агента з доступом до shell. Окремий користувач, шлюз лише на loopback-порту 18789, SSH-тунель, pairing і бекапи.

На ноутбуці OpenClaw замовкає, щойно закривається кришка: повідомлення у WhatsApp накопичуються, заплановані завдання чекають на вас. На сервері він і далі відповідає. Але є нюанс: шлюз — це не чат-віджет. Він зберігає доступи до ваших каналів і, якщо не ввімкнути пісочницю, запускає інструменти просто на хості. Переносити його на машину, що працює завжди, варто лише тоді, коли разом із ним переїжджає й модель безпеки.

Цей гайд робить це приблизно за 20 хвилин на свіжому VPS з Ubuntu 24.04.

Перевірено 2026-10-04: OpenClaw 2026.9.8 (npm), Node 24.21 LTS, Ubuntu 24.04.

Що знадобиться

  • Linux VPS. Ми беремо наш тариф AI-Agent: 4 vCPU, 4 ГБ RAM, 40 ГБ диска, $10 на місяць. У документації OpenClaw згадано 6 ГБ RAM, але це для збирання їхнього Docker-образу з вихідних кодів; npm-пакету збирання не потрібне.
  • API-ключ вашого провайдера моделей і акаунти месенджерів, які хочете підключити.
  • SSH-ключ на ноутбуці. Якщо його ще немає: вхід за SSH-ключем.

NAT-тариф тут підходить, а може, навіть краще. Шлюзу взагалі не потрібен відкритий вхідний порт: WhatsApp, Discord і Telegram (за замовчуванням long polling) самі підключаються назовні, а до панелі ви ходите через SSH. Виділений IPv4 беріть, лише якщо потрібний канал доставляє повідомлення вебхуком або ви плануєте публічний reverse proxy.

1. Користувач, який не root

OpenClaw запускає інструменти від імені користувача, якому належить шлюз. Якщо це root, то від root виконається й будь-яка команда, яку вирішить запустити модель, що заплуталась або потрапила під prompt injection. Документація 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. Пакет 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, а не в домашньому каталозі, куди агент може писати.

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 застосовує безпечну частину виправлень: посилює права на файли й замінює відкриті групові політики на allowlist. Нічого не перепривʼязує і не закриває файрволом — мережева доступність лишається вашою справою.

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. Pairing, пісочниця і хто може з ним говорити

Месенджери — другий вхід. За замовчуванням канали з особистими повідомленнями вимагають від незнайомих відправників pairing; схвалюєте ви на сервері:

openclaw pairing approve <channel> <code>

У групах вимагайте згадку, щоб агент не відповідав на кожне повідомлення в чаті. В еталонній захищеній конфігурації OpenClaw для кожного каналу стоять dmPolicy: "pairing" і groups: { "*": { requireMention: true } }.

Два чесні застереження. Перше: pairing вирішує, хто може запустити хід, але не що потрапить у контекст моделі. Переслане повідомлення чи завантажена вебсторінка все ще можуть спрямувати хід, який запустили ви. Друге: інструменти основної сесії виконуються на хості, доки ви не ввімкнете пісочницю (agents.defaults.sandbox.mode: "non-main" ізолює все, крім вашої основної сесії). За замовчуванням пісочниця вимкнена, а її стандартний бекенд — Docker, тож перед увімкненням поставте Docker: Docker на VPS. Якщо разом із ботом в одному каналі сидять люди, яким ви не довіряєте, підніміть для них окремий шлюз, краще на окремому сервері.

7. Оновлення і бекапи

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

У ~/.openclaw лежать конфіг, доступи до каналів (зокрема сесія WhatsApp), профілі авторизації моделей і розшифровки сесій. Втратите — доведеться все наново зв'язувати; витече — хтось інший стане вами у WhatsApp. Робіть бекапи й тримайте копію не на цьому сервері: завантажте через scp або використовуйте restic із шифруванням.

Чекліст

ПеревіркаКомандаОчікуємо
Шлюз працює не від rootps -eo user,args | grep '[o]penclaw'claw у першій колонці
Переживає вихід із сесіїloginctl show-user claw -p LingerLinger=yes
Слухає лише loopbackss -ltnp | grep 18789127.0.0.1:18789
Немає публічного портуufw statusлише OpenSSH
Конфіг не читається всімаstat -c '%a' ~/.openclaw/openclaw.json600
Аудит чистийopenclaw security audit --deepнемає критичних зауважень

До чого тут EQVPS

Запустити Node-процес може багато хто. Ми додаємо оплату криптою без KYC, NAT-тариф, який саме пасує шлюзу лише на loopback, і MCP-сервер, через який агент може сам керувати своїми серверами. Якщо підключаєте до нього OpenClaw, спершу прочитайте захист MCP: токен, яким можна замовляти сервери, заслуговує тієї ж обережності, що й токен шлюзу. Ширше про агентів на VPS — у гайді з AI-агентів.

Наша думка: ці 20 хвилин — різниця між асистентом і відкритим shell із чат-інтерфейсом. Навіть якщо пропустите решту, зробіть кроки 1, 4 і 5.

Готові розгорнути? Оплата криптою, без KYC — сервер за хвилину.

Розгорнути →

Часті питання

Яка версія Node.js потрібна OpenClaw?

Node 24.16 і новіша в гілці 24 або 26.1 і новіша. npm-пакет (openclaw 2026.9.8 на момент написання) відмовляється працювати на інших версіях, тож Node 22 не підійде. На Ubuntu актуальну 24 LTS дає репозиторій NodeSource 24.x.

Чи треба відкривати порт 18789 в інтернет?

Ні. За замовчуванням шлюз слухає loopback (127.0.0.1:18789), там він і має лишатися. До панелі заходьте через SSH-тунель. Прив'язка до LAN чи 0.0.0.0 означає, що шлюз, який уміє виконувати команди на сервері, від сторонніх відділяє один токен, що витік.

Чи підійде NAT VPS без виділеного IPv4?

Так, у більшості випадків. WhatsApp, Discord і Telegram (за замовчуванням long polling) самі підключаються назовні, а панель іде через SSH-тунель на вашому прокинутому SSH-порту. Виділений IPv4 потрібен лише для каналів, що доставляють повідомлення вебхуком, або якщо ви ставите публічний reverse proxy.

Скільки RAM потрібно OpenClaw на VPS?

Сам шлюз легкий. Цифра 6 ГБ у документації OpenClaw стосується збирання Docker-образу з вихідних кодів. З npm-пакетом компілювати нічого; ми запускаємо його на тарифі AI-Agent (4 vCPU, 4 ГБ RAM, 40 ГБ диска), із запасом на браузерний інструмент і пісочницю.

Чи працюватиме OpenClaw після виходу з SSH?

Лише якщо ввімкнути lingering для користувача, якому належить сервіс: sudo loginctl enable-linger <user>. OpenClaw ставить користувацький юніт systemd, і без lingering користувацький менеджер зупиняється разом з останньою сесією.

Коментарі

Поки немає коментарів. Будьте першим.

Залишити коментар

Коментарі проходять модерацію перед публікацією.