SSD Nodes Learn Hosting plans →
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-09-03

Hermes Agent на VPS за $5: вимоги та безпека

Hermes не потребує GPU: модель працює окремо, тому достатньо малого VPS. Запустіть його під окремим користувачем із ProtectSystem=strict у systemd та налаштуйте IPv6 в UFW.

Що таке Hermes Agent

Hermes Agent — це self-hosted AI-агент від Nous Research, випущений у лютому 2026 року. Ви запускаєте його на власному сервері, а він зберігає постійну пам’ять про ваші проєкти, під час роботи створює власні повторно використовувані skills і надсилає вам повідомлення через чат-застосунки, як-от Telegram і Discord. Він не прив’язаний до конкретної моделі, тому ви можете вказати будь-яку потрібну language model. Агент достатньо легкий для запуску на VPS за $5, у Docker або через SSH. За такої схеми модель працює в іншому місці, а loop, tools і memory працюють на вашому сервері. Саме це робить Hermes оболонкою агента, а не моделлю, і тому для нього достатньо невеликого сервера.

Як і будь-який агент, Hermes корисний тим, що виконує дії від вашого імені. Саме тому його потрібно налаштовувати обережно. Агент, який запам’ятовує дані, навчається та запускає завдання, є постійно запущеним процесом із реальним доступом до вашого сервера. Цей посібник встановлює його безпечним способом. Наведені тут заходи hardening такі самі, як для безпечного запуску OpenClaw.

Однокомандне встановлення та чому його потрібно спочатку прочитати

Hermes встановлюється однією командою:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Це зручно, але такий підхід потребує обережності. Якщо передати скрипт безпосередньо з інтернету в shell, буде виконано все, що міститься в цьому скрипті, від імені користувача, який його запускає. Перш ніж запускати скрипт на реальному сервері, спочатку завантажте його, прочитайте та виконайте від імені окремого користувача, а не root:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh -o hermes-install.sh
less hermes-install.sh

Йдеться не про недовіру саме до Hermes. Це звичка, яка не дає будь-якому встановленню curl | bash непомітно стати найслабшою ланкою вашої системи.

Надайте йому непривілейований обліковий запис

Запускайте Hermes під окремим системним обліковим записом, ніколи не використовуйте root. Так помилка або небезпечна інструкція не зможе вплинути на решту системи. Створіть користувача без оболонки входу:

sudo useradd --system --home /opt/hermes --shell /usr/sbin/nologin hermes

Встановіть Hermes у /opt/hermes і призначте цей обліковий запис власником. Офіційний інсталятор встановлює програму для користувача, від імені якого його запущено. Тому виконайте завантажений скрипт від імені користувача hermes, наприклад sudo -u hermes bash hermes-install.sh. Файли буде розміщено в його домашньому каталозі, а не у вашому. Причина та сама, що й у випадку запуску сервісів від імені непривілейованого користувача: обліковий запис, від імені якого працює агент, визначає межу можливих пошкоджень. Обліковий запис ОС — лише частина цієї моделі. Власні налаштування агента визначають, скільки дій він виконує без попереднього запиту. Саме це питання розглядають режими дозволів Claude Code, коли агент працює на сервері, перед яким ви не перебуваєте. Якщо згодом сервер має обслуговувати не лише вас, OneCLI поширює цю ідею окремого облікового запису для кожного агента на всю команду: кожна особа отримує власного агента в ізольованому середовищі, а ключі моделі зберігаються в одному gateway і їх не потрібно копіювати між системами.

Захистіть сервер за допомогою firewall і ізолюйте секрети

Hermes працює, звертаючись до моделі та підключених чат-застосунків, тому йому не потрібно приймати вхідні з’єднання з інтернету. Налаштуйте перед сервером firewall із політикою заборони за замовчуванням:

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable

Стежте за прогалиною у фільтрації IPv6, оскільки набір правил, що охоплює лише IPv4, може залишити сервіс доступним через IPv6. Якщо агенту потрібно підключатися до ресурсу, який існує лише у вашій домашній мережі, наприклад до NAS або локальної бази даних, реклама цієї мережі у вашому tailnet за допомогою subnet router забезпечить доступ до нього через вихідне з’єднання замість відкритого вхідного порту. Зберігайте API-ключ моделі та будь-які chat-токени у файлі, який може читати лише користувач hermes (режим 600), і завантажуйте їх у сервіс, а не вставляйте в командний рядок, де вони потраплять до історії оболонки. Такий файл секретів є такою самою невеликою цінною ціллю, як і admin-токен у self-hosted менеджері паролів, а міркування з посилення захисту Vaultwarden тут також застосовні: захищайте єдиний файл, який відкриває доступ до всього іншого, і так само ретельно захищайте його резервні копії. Права доступу до файлів захищають від інших користувачів на сервері, але не від провайдера, на інфраструктурі якого він працює. Тому якщо ключі, які зберігає агент, достатньо чутливі, щоб змінити цю оцінку, саме зашифрована пам’ять і атестація визначають, чи може ваша хостингова компанія зчитати їх із RAM.

Запускайте Hermes як захищений сервіс systemd

Unit systemd забезпечує роботу Hermes після виходу із системи та перезавантаження, перезапускає його в разі аварійного завершення й дає змогу додати sandboxing на рівні ядра, який обмежує доступ процесу. Увімкніть NoNewPrivileges, ProtectSystem=strict, PrivateTmp і ProtectHome, щоб у разі компрометації наслідки залишалися локалізованими.

Створіть захищений unit у цьому місці, а потім скопіюйте його до /etc/systemd/system/hermes.service. Unit запускає hermes gateway — довготривалий процес, який підключається до ваших чат-застосунків. Після встановлення виконайте hermes --help, щоб перевірити цю команду та шлях до бінарного файлу у вашій версії, перш ніж вмикати сервіс:

ToolGenerate a hardened systemd unit for the agent

Директиви, а також кроки daemon-reload і enable --now, описано в матеріалі запуск програми як сервісу systemd:

sudo systemctl daemon-reload
sudo systemctl enable --now hermes

Практичний приклад такого самого підходу для іншого агента наведено в матеріалі запуск dsh без графічного інтерфейсу під керуванням systemd. Там докладніше розглянуто правила Restart і команди journalctl, які знадобляться, якщо сервіс уперше завершить роботу вночі. Ще краще не чекати до ранку, щоб це з’ясувати: unit OnFailure=, який надсилає сповіщення на ваш власний сервер ntfy, одразу повідомить вас на телефон, коли Hermes припинить спроби перезапуску.

Якщо ви хочете, щоб systemd контролював контейнер, а не native-встановлення, матеріал підтримання KiroCrew у роботі як контейнера із зафіксованою версією дає такий самий результат із переживанням перезавантаження, водночас зберігаючи незмінною версію image.

Посильте захист сервера

Завершіть налаштування, посиливши захист зовнішнього доступу. Перейдіть у SSH на автентифікацію лише за ключами та вимкніть вхід для root, як описано в матеріалі Посилення захисту SSH на VPS. Обліковий запис, який ви використовуєте для адміністрування сервера, не можна буде підібрати. Агент, який зберігає постійний стан, потребує захисту. Найпростіший захід — не дозволити стороннім входити на сервер, де він працює.

Після захисту самого сервера наступною можливістю, яку зазвичай додають, є вебпошук. Підключення агента до власного екземпляра SearXNG дає змогу виконувати такі запити на власному сервері. Водночас агент отримуватиме сторінки, які ніхто не перевіряв. Hermes також рідко є єдиним агентом на сервері. Якщо ви додатково запускаєте там Claude Code, два сеанси можуть безпосередньо передавати роботу один одному, замість того щоб проводити кожну передачу через вас. Якщо наступний агент читатиме ваш код, а не чат-застосунки, запуск перевірок безпеки open-kritt на тому самому сервері відповідає тій самій схемі: зафіксований реліз, окремий обліковий запис і вебінтерфейс, доступний через SSH-тунель, а не через відкритий порт.

Якщо ви хочете зрозуміти принцип роботи, а не просто запустити готового агента, матеріал Створення власного AI-агента на VPS описує процес крок за кроком. Якщо терміни з цього посібника ще незнайомі, поетапний шлях вивчення AI-агентів розглядає цикл роботи, інструменти, пам’ять і безпеку в порядку, у якому вони доповнюють одне одного. Завдяки цьому рішення, які Hermes приймає за вас, перестають здаватися магією.

FAQ

Чи можна запускати Hermes Agent на недорогому VPS?

Так. Hermes розрахований на роботу на невеликому сервері, і VPS за $5 достатньо для персонального агента, який працює постійно. Він підключається до мовної моделі та ваших чат-застосунків, а не обслуговує великий обсяг мережевого трафіку, тому споживає мало ресурсів. Створіть для нього окремого користувача, налаштуйте firewall і systemd service — невеликий VPS без проблем із цим упорається. Якщо у вас уже є комп’ютер удома, спочатку порівняйте витрати на його обладнання та електроенергію з щомісячною платою, оскільки домашній Proxmox-сервер і орендований VPS мають різні переваги.

Чи безпечно запускати однорядковий скрипт встановлення?

Встановлення через curl | bash зручне, але безпечніше спочатку завантажити скрипт і переглянути його, а потім запускати від імені окремого користувача, а не root. У такому разі інсталятор, переданий через pipe, незалежно від проєкту не зможе зробити більше, ніж дозволено цьому обмеженому обліковому запису. Це правило не стосується лише Hermes — так слід встановлювати будь-яке програмне забезпечення цим способом.

Як запускати Hermes без root?

Створіть окремого системного користувача без login shell, встановіть Hermes у каталог, власником якого є цей користувач, наприклад /opt/hermes, і запускайте service від імені цього облікового запису. Якщо агент буде скомпрометовано, шкода обмежиться ресурсами, до яких має доступ цей обліковий запис.

Як забезпечити роботу Hermes після виходу з облікового запису?

Запускайте його як systemd service. Unit file запускає Hermes під час завантаження системи, перезапускає його після аварійного завершення та підтримує його роботу після завершення SSH-сеансу. Параметри sandboxing у systemd обмежують доступ процесу до системи. Створіть hardened unit за допомогою наведеного вище інструмента й увімкніть його командою systemctl enable --now hermes.

Чи потрібен Hermes Agent GPU?

Ні. Hermes — це середовище виконання агента, а не мовна модель, тому він без проблем працює на невеликому VPS лише з CPU. Інтенсивні обчислення виконуються там, де запущена модель, зазвичай у hosted API, до якого ви підключаєте агента. Якщо ви також хочете розмістити модель на цьому самому сервері, обирайте конфігурацію сервера з урахуванням вимог моделі, а не Hermes. Для розміщення моделі лише на CPU використовуйте значення з посібника з Ollama.