SSD Nodes Learn Hosting plans →
Guide Matt ConnorDi Matt Connor · Aggiornato 2026-09-03

Hermes Agent: basta un VPS da $5 per ospitarlo

Hermes non richiede una GPU: il modello gira altrove. Scopri come usare un VPS da $5, un utente dedicato, ProtectSystem=strict e UFW anche su IPv6.

Che cos'è Hermes Agent

Hermes Agent è un agente AI self-hosted di Nous Research, rilasciato a febbraio 2026. Lo esegui sul tuo server e conserva una memoria persistente dei tuoi progetti, scrive skill riutilizzabili durante il lavoro e ti raggiunge tramite app di chat come Telegram e Discord. È indipendente dal modello: puoi collegarlo al modello linguistico che preferisci. È inoltre abbastanza leggero da funzionare su un VPS da $5, in Docker o tramite SSH. In questa architettura, il modello viene eseguito altrove, mentre il ciclo operativo, gli strumenti e la memoria restano sul tuo server. È questo che rende Hermes un framework per agenti invece di un modello e che consente di usare un server di piccole dimensioni.

Come per qualsiasi agente, il suo valore deriva dalle azioni eseguite per tuo conto. Per questo devi configurarlo con attenzione. Un agente che ricorda, apprende ed esegue attività è un processo persistente con un accesso effettivo al tuo server. Questa guida installa Hermes in modo sicuro. Le misure di hardening descritte sono le stesse che applicheresti per eseguire OpenClaw in sicurezza.

L'installazione con un solo comando e perché leggerlo prima

Hermes si installa con un solo comando:

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

È pratico, ma è anche una procedura che richiede attenzione. Inviare direttamente uno script da Internet a una shell esegue tutto il contenuto dello script con i privilegi dell'utente che lo avvia. Prima di eseguirlo su un server reale, scaricalo, leggilo ed eseguilo con un utente dedicato, non con root:

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

Non si tratta di diffidare in particolare di Hermes. È una buona pratica che impedisce a qualsiasi installazione curl | bash di diventare il punto più debole della configurazione senza che tu te ne accorga.

Assegna un utente non privilegiato

Esegui Hermes con un account di sistema dedicato, mai come root, così un bug o un'istruzione errata non può compromettere il resto della macchina. Crea un utente senza shell di login:

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

Installa Hermes in /opt/hermes e assegna quell'account come proprietario. L'installer ufficiale installa il software per l'utente che lo esegue. Esegui quindi lo script scaricato come utente hermes, ad esempio sudo -u hermes bash hermes-install.sh. In questo modo i file vengono salvati nella sua home directory anziché nella tua. Il motivo è lo stesso descritto in eseguire i servizi con un utente non privilegiato: l'account con cui viene eseguito l'agent limita l'entità dei danni che può causare. L'account del sistema operativo rappresenta solo una parte del problema. Le impostazioni dell'agent determinano quanto può fare senza chiedere conferma. È questo il tema delle modalità di autorizzazione di Claude Code quando l'agent viene eseguito su un server davanti al quale non sei fisicamente presente. Se in seguito il server dovrà servire più persone, OneCLI estende il principio di un account per ogni agent a un intero team assegnando a ogni persona un agent isolato, mentre le chiavi del modello restano in un unico gateway e nessuno deve copiarle.

Proteggi il server con il firewall e isola i secret

Hermes svolge il proprio lavoro connettendosi a un modello e alle applicazioni di chat che colleghi, quindi non deve accettare connessioni in ingresso da Internet. Configura un firewall con criterio predefinito di rifiuto davanti al server:

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

Presta attenzione al divario del firewall IPv6, perché un insieme di regole che copre soltanto IPv4 può lasciare un servizio esposto su IPv6. Se l’agente deve raggiungere una risorsa disponibile soltanto sulla rete domestica, ad esempio un NAS o un database locale, pubblicare quella rete nella tua tailnet con un subnet router consente di raggiungerla tramite una connessione in uscita, senza aprire una porta in ingresso. Conserva la chiave API del modello e gli eventuali token di chat in un file leggibile soltanto dall’utente hermes (modalità 600), quindi caricalo nel servizio invece di incollarli nella riga di comando, dove finirebbero nella cronologia della shell. Un file di secret di questo tipo è un obiettivo piccolo ma di grande valore, come il token amministrativo di un password manager self-hosted; il ragionamento alla base di messa in sicurezza di Vaultwarden si applica anche qui: proteggi l’unico file che consente di sbloccare tutto il resto e proteggi con la stessa attenzione anche i relativi backup. I permessi dei file impediscono l’accesso agli altri utenti del sistema, ma non al provider sottostante; se le chiavi detenute dall’agente sono abbastanza sensibili da cambiare questa valutazione, memoria cifrata e attestazione determinano se il tuo provider di hosting può leggerle dalla RAM.

Eseguire Hermes come servizio systemd con configurazione hardening

Un'unità systemd mantiene Hermes in esecuzione dopo il logout e dopo un riavvio, lo riavvia se termina in modo anomalo e consente di aggiungere un sandboxing a livello di kernel che limita le risorse a cui può accedere. Attiva NoNewPrivileges, ProtectSystem=strict, PrivateTmp e ProtectHome per contenere le conseguenze di un'eventuale compromissione.

Genera qui un'unità con configurazione hardening, quindi copiala in /etc/systemd/system/hermes.service. L'unità avvia hermes gateway, il processo a esecuzione prolungata che si connette alle tue applicazioni di chat; dopo l'installazione, esegui hermes --help per verificare che il comando e il percorso del binario corrispondano alla tua versione, prima di abilitare il servizio:

ToolGenerate a hardened systemd unit for the agent

Le direttive e i passaggi daemon-reload e enable --now sono descritti in eseguire un programma come servizio systemd:

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

Per un esempio completo dello stesso schema applicato a un altro agent, eseguire dsh in modalità headless con systemd dedica più spazio alle regole Restart e ai comandi journalctl che probabilmente vorrai usare la prima volta che il servizio termina durante la notte. Meglio ancora, non aspettare il mattino per scoprirlo: un'unità OnFailure= che invia l'avviso al tuo server ntfy mostra una notifica sul telefono nel momento in cui Hermes non riesce più a riavviarsi.

Se preferisci che sia systemd a supervisionare un container invece di un'installazione nativa, mantenere KiroCrew attivo come container con versione fissata offre lo stesso risultato, cioè la sopravvivenza ai riavvii, mantenendo invariata la versione dell'immagine.

Metti in sicurezza il server che lo ospita

Completa la messa in sicurezza del punto di accesso principale. Configura SSH per usare esclusivamente l’autenticazione tramite chiavi e disabilita l’accesso di root, come descritto in Messa in sicurezza di SSH su un VPS, così l’account usato per amministrare il server non può essere individuato per tentativi. Un agente che conserva memoria persistente deve essere protetto, e la misura più semplice consiste nell’assicurarsi che nessuno possa accedere al server su cui è in esecuzione.

Dopo aver messo in sicurezza il server, la funzione che la maggior parte degli utenti aggiunge è la ricerca web. Indirizzare l’agente verso una propria istanza SearXNG mantiene queste richieste sul server, ma comporta il rischio di fornire all’agente pagine che nessuno ha verificato. Hermes raramente è l’unico agente sul server. Se esegui anche Claude Code, due sessioni possono passarsi direttamente il lavoro invece di far transitare ogni passaggio da te. Se il prossimo agente che aggiungi deve leggere il codice anziché le applicazioni di chat, eseguire le scansioni di sicurezza di open-kritt sullo stesso server segue lo stesso modello: una release fissata, un account dedicato e un’interfaccia web raggiungibile tramite un tunnel SSH invece di una porta esposta.

Se preferisci capire il funzionamento interno anziché eseguire un agente già pacchettizzato, creare un proprio agente AI su un VPS descrive la procedura passo per passo. Se il vocabolario di quella guida non ti è ancora familiare, un percorso graduale per imparare a usare gli agenti AI presenta loop, strumenti, memoria e sicurezza nell’ordine in cui si basano l’uno sull’altro. In questo modo, le scelte che Hermes compie per te smettono di sembrare magia.

FAQ

Posso eseguire Hermes Agent su un VPS economico?

Sì. Hermes è progettato per funzionare su un server di piccole dimensioni e un VPS da $5 è sufficiente per un agent personale sempre attivo. Hermes si connette a un modello linguistico e alle applicazioni di chat, invece di gestire traffico intenso, quindi richiede poche risorse. Assegnagli un utente dedicato, un firewall e un servizio systemd: un VPS di piccole dimensioni lo gestisce senza problemi. Se hai già un computer a casa, confronta prima i costi dell'hardware e dell'elettricità con il canone mensile, perché un server Proxmox domestico e un VPS a noleggio offrono vantaggi diversi.

È sicuro eseguire lo script di installazione con una sola riga?

L'installazione curl | bash è comoda, ma la procedura sicura consiste nello scaricare lo script e leggerlo prima di eseguirlo, oltre a eseguirlo con un utente dedicato anziché con root. In questo modo, un installer passato tramite pipe, indipendentemente dal progetto, non può fare più di quanto consentito da quell'account limitato. Non è una caratteristica specifica di Hermes: è una buona pratica per ogni installazione di questo tipo.

Come posso eseguire Hermes senza root?

Crea un utente di sistema dedicato senza shell di login, installa Hermes in una directory di proprietà dell'utente, ad esempio /opt/hermes, ed esegui il servizio con quell'account. Se l'agent viene compromesso, i danni restano limitati alle risorse accessibili a quell'account.

Come posso mantenere Hermes in esecuzione dopo la disconnessione?

Eseguilo come servizio systemd. Un file unit avvia Hermes al boot, lo riavvia se termina in modo anomalo e lo mantiene in esecuzione dopo la chiusura della sessione SSH, mentre le opzioni di sandboxing di systemd limitano le risorse che il processo può utilizzare. Genera una unit hardened con lo strumento precedente e abilitala con systemctl enable --now hermes.

Hermes Agent richiede una GPU?

No. Hermes è il runtime dell'agent, non il modello linguistico, quindi funziona anche su un VPS di piccole dimensioni con la sola CPU. I calcoli più pesanti vengono eseguiti dove viene eseguito il modello, in genere tramite un'API hosted a cui ti connetti. Se vuoi anche eseguire autonomamente il modello sullo stesso server, dimensiona la macchina in base al modello, non a Hermes. Per eseguire un modello usando soltanto la CPU, valgono i valori indicati nella guida a Ollama.