Hermes Agent è un agente di intelligenza artificiale open source sviluppato da Nous Research. A differenza di una semplice interfaccia di chat, può usare strumenti, eseguire comandi, conservare una memoria, pianificare attività e rispondere da piattaforme come Telegram o Discord. Installato su un VPS, resta sempre disponibile, anche quando il tuo computer personale è spento.
Questa flessibilità comporta un rischio maggiore rispetto a un chatbot classico. Un agente in grado di eseguire comandi non deve girare come root, accettare messaggi da tutta Internet né conservare le chiavi API in un file leggibile da chiunque. Questa guida propone quindi un'installazione pensata per un server, con un account Linux dedicato, uno script controllato prima dell'esecuzione, un servizio systemd, un accesso limitato, backup e una procedura di aggiornamento.
Questa guida è stata verificata il 17 settembre 2026 su Debian e Ubuntu. Hermes Agent evolve rapidamente. Visualizza sempre in anteprima un aggiornamento e leggi le note ufficiali prima di applicarlo a un'istanza di produzione.
Questa guida riguarda il progetto Hermes Agent di Nous Research, distribuito con licenza MIT. Non va confuso con altri prodotti che portano il nome Hermes.
Cosa andrai a configurare
Al termine dell'installazione avrai la seguente architettura.
- Hermes Agent viene eseguito con un utente Linux non privilegiato chiamato
hermes. - I file di configurazione, le sessioni e i segreti restano in
/home/hermes/.hermes/. - Il modello di IA è fornito dal servizio che scegli, oppure da un endpoint compatibile che gestisci tu.
- Il gateway di Hermes funziona come servizio utente systemd e si riavvia al boot.
- Solo gli account Telegram, Discord o altri che hai autorizzato possono dialogare con l'agente.
- Per impostazione predefinita nessuna porta di amministrazione di Hermes è esposta pubblicamente.
Hermes Agent è gratuito e open source, ma l'uso di un fornitore di modelli può essere a pagamento. Il progetto non include un grande modello linguistico capace di funzionare bene su un piccolo VPS. Il consumo e l'elaborazione delle richieste dipendono quindi dal fornitore scelto.
Prerequisiti e dimensionamento del VPS
La documentazione ufficiale di installazione supporta Linux e richiede essenzialmente Git, curl e xz-utils. L'installer si occupa poi del proprio ambiente Python, di Node.js e degli altri componenti necessari.
Per seguire questa guida ti servono gli elementi seguenti.
- Un VPS recente con Debian o Ubuntu, per esempio un VPS Linux OuiHeberg.
- Un account di amministrazione con
sudo. - Un accesso SSH con chiave.
- Connessione HTTPS in uscita e risoluzione DNS funzionanti.
- Una chiave API o un abbonamento presso il fornitore di modelli scelto.
- Facoltativamente un token Telegram, Discord o di un'altra piattaforma supportata.
Hermes non pubblica un requisito hardware minimo universale, perché le esigenze cambiano in base agli strumenti attivati. I valori seguenti sono raccomandazioni operative, non requisiti ufficiali.
| Uso | vCPU | Memoria | Archiviazione | Nota |
|---|---|---|---|---|
| CLI e gateway con modello remoto | 2 | 4 GB | 25 GB NVMe | Base ragionevole per un uso personale |
| Navigazione, audio o più sessioni | 4 | 8 GB | 50 GB NVMe | Più margine per Chromium e le elaborazioni simultanee |
| Modello eseguito in locale | Variabile | Variabile | Variabile | Dipende interamente dal modello, spesso con GPU dedicata |
Un piccolo VPS è sufficiente quando il calcolo del modello è affidato a un'API. Può diventare insufficiente se l'agente avvia un browser, elabora file di grandi dimensioni o esegue più attività contemporaneamente. Tieni d'occhio memoria, spazio su disco e processi dopo qualche giorno di uso reale.
La nostra pagina VPS Hermes Agent presenta le offerte adatte a questo uso. Come punto di partenza consiglia il VPS Linux 04G con i suoi 4 GB di RAM.
Prima di installare un agente autonomo, applica anche le basi di sicurezza del server (aggiornamenti, SSH con chiave, firewall, backup e registrazione dei log). La nostra checklist per proteggere un VPS Linux descrive nel dettaglio questi prerequisiti.
1. Aggiornare il sistema
Connettiti al VPS con il tuo account di amministrazione, poi aggiorna l'indice dei pacchetti e i pacchetti già installati.
sudo apt update
sudo apt upgrade
Installa quindi i prerequisiti indicati dal progetto.
sudo apt install ca-certificates curl git xz-utils
Controlla che i comandi siano disponibili.
git --version
curl --version
xz --version
Se un aggiornamento del kernel o di un componente di sistema importante richiede un riavvio, eseguilo prima di proseguire. Eviterai così di diagnosticare Hermes mentre il server usa ancora librerie vecchie.
2. Creare un account Linux dedicato
Non installare Hermes in /root e non eseguire il suo gateway come superutente. La checklist di produzione ufficiale raccomanda esplicitamente un account non root.
Crea un utente chiamato hermes.
sudo adduser --disabled-password --gecos "" hermes
Non aggiungerlo al gruppo sudo. Non aggiungerlo nemmeno al gruppo docker senza averne valutato le conseguenze, perché un accesso diretto al socket Docker di solito consente di ottenere privilegi equivalenti a root sull'host.
Per amministrare questo account via SSH, installa solo la chiave pubblica desiderata. Se il file ~/.ssh/authorized_keys del tuo account attuale contiene proprio la chiave che deve accedere anche all'account hermes, puoi copiarlo così.
sudo install -d -m 0700 -o hermes -g hermes /home/hermes/.ssh
sudo install -m 0600 -o hermes -g hermes \
~/.ssh/authorized_keys /home/hermes/.ssh/authorized_keys
Verifica i permessi.
sudo ls -ld /home/hermes /home/hermes/.ssh
sudo ls -l /home/hermes/.ssh/authorized_keys
Attiva poi il lingering, così i servizi utente restano attivi dopo la disconnessione. Questa opzione permette al servizio systemd di Hermes di avviarsi al boot senza lasciare una sessione SSH aperta.
sudo loginctl enable-linger hermes
Controlla il risultato.
loginctl show-user hermes -p Linger
L'output atteso è Linger=yes.
Apri ora una nuova connessione SSH direttamente con questo account.
ssh hermes@INDIRIZZO_IP_DEL_VPS
Salvo indicazione contraria, tutti i comandi seguenti si eseguono da questa sessione e senza sudo.
3. Scaricare ed esaminare l'installer ufficiale
Hermes pubblica un comando di installazione rapida.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
È comodo, ma passa subito il contenuto ricevuto all'interprete. Su un server è meglio separare il download dall'esecuzione, in modo da poter leggere lo script e conservare l'impronta esatta del file utilizzato.
Scarica l'installer dal dominio ufficiale.
curl --proto '=https' --tlsv1.2 -fsSLo /tmp/hermes-install.sh \
https://hermes-agent.nousresearch.com/install.sh
Visualizza la sua impronta SHA-256 e leggine il contenuto.
sha256sum /tmp/hermes-install.sh
less /tmp/hermes-install.sh
L'impronta serve a identificare il file che hai esaminato e a documentare il tuo deployment. Da sola non costituisce una firma dell'editore. Verifica almeno che lo script provenga davvero dal dominio ufficiale, che non contenga destinazioni inattese e che i percorsi di installazione corrispondano alla documentazione.
Installazione minima per un VPS senza browser
Se l'agente non deve pilotare Chromium né usare le funzioni di controllo visivo, riduci il software installato.
bash /tmp/hermes-install.sh --skip-browser --skip-computer-use
Questa opzione è adatta a un bot che usa soprattutto un modello remoto, API e strumenti testuali. I componenti esclusi potranno essere aggiunti in seguito.
Installazione con automazione del browser
Per usare gli strumenti di navigazione locale, esegui semplicemente lo script senza queste opzioni.
bash /tmp/hermes-install.sh
L'installazione delle librerie di sistema di Chromium richiede privilegi di amministratore. Poiché l'account hermes volutamente non ha sudo, l'installer installa ciò che può nel suo spazio utente e poi mostra il comando esatto che un amministratore deve eseguire. Lancialo dal tuo account di amministrazione. La documentazione ufficiale cita anche sudo npx playwright install-deps chromium per Debian e Ubuntu, ma è meglio usare il comando mostrato dalla versione effettivamente installata.
L'installer colloca normalmente gli elementi nelle posizioni seguenti.
| Elemento | Posizione per utente |
|---|---|
| Codice del progetto | ~/.hermes/hermes-agent/ |
Comando hermes | ~/.local/bin/hermes |
| Configurazione e dati | ~/.hermes/ |
Questa modalità isola l'installazione in /home/hermes. Un'installazione avviata con sudo userebbe un'altra struttura e rischierebbe soprattutto di collocare i segreti in /root/.hermes, cosa che qui evitiamo.
4. Verificare l'installazione
Ricarica l'ambiente della shell.
source ~/.bashrc
Verifica poi il percorso del comando, la versione e lo stato generale.
command -v hermes
hermes --version
hermes doctor
Il primo risultato dovrebbe puntare a /home/hermes/.local/bin/hermes. Il comando hermes doctor controlla tra l'altro l'ambiente, la configurazione e le dipendenze.
Se hermes risulta ancora introvabile, aggiungi la directory utente al PATH e ricarica la shell.
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Non eseguire direttamente il file sorgente ~/.hermes/hermes-agent/hermes con il Python di sistema. La documentazione avverte che così si aggira l'ambiente virtuale e possono comparire errori di moduli mancanti.
5. Configurare il fornitore di modelli
Hermes orchestra un modello, ma il VPS non fornisce il servizio di inferenza. Avvia la procedura guidata di selezione.
hermes model
Puoi anche usare la procedura guidata generale.
hermes setup
Il progetto supporta diversi fornitori ed endpoint personalizzati. Scegli in base alle tue esigenze di riservatezza, costo, localizzazione dei dati e compatibilità degli strumenti. Con un fornitore esterno, le richieste inviate al modello escono dal tuo VPS. La FAQ ufficiale indica che Hermes non raccoglie telemetria e conserva in locale conversazioni, memoria e competenze, ma le chiamate vengono comunque inviate al fornitore che configuri.
Inserisci le chiavi nella procedura guidata interattiva. Evita di scrivere un segreto direttamente in un comando, perché potrebbe restare nella cronologia della shell, nei log di uno strumento di automazione o nell'elenco dei processi.
Proteggi poi gli eventuali file sensibili creati.
chmod 700 ~/.hermes
find ~/.hermes -maxdepth 1 -type f \
\( -name '.env' -o -name 'auth.json' \) \
-exec chmod 600 {} +
I segreti appartengono all'account hermes e non devono mai essere copiati in un repository Git. Per un uso aziendale, la documentazione sui segreti descrive anche il caricamento da gestori esterni come 1Password o Bitwarden Secrets Manager.
Prova infine una richiesta semplice.
hermes chat -q "Rispondi solo con: installazione operativa"
Se la chiamata fallisce, controlla la chiave, il nome del modello, il credito dell'account del fornitore, la data del server e la connettività HTTPS prima di proseguire.
6. Capire i dati memorizzati
La directory ~/.hermes/ è la prima cosa da proteggere e salvare. A seconda delle funzioni usate, contiene in particolare i file seguenti.
| Percorso | Ruolo | Sensibilità |
|---|---|---|
config.yaml | Configurazione non segreta dell'agente e dei suoi strumenti | Media |
.env | Chiavi API, token e parametri segreti | Critica |
auth.json | Dati di autenticazione | Critica |
state.db | Stato persistente del gateway e delle sessioni | Elevata |
SOUL.md | Istruzioni e identità dell'agente | Media |
memories/ | Memoria conservata dall'agente | Elevata |
sessions/ | Cronologia e contesto delle sessioni | Elevata |
skills/ | Competenze aggiunte | Variabile |
cron/ | Attività pianificate | Elevata |
logs/ | Log di funzionamento | Variabile |
Un file senza chiavi API non è per questo pubblico. Conversazioni, memorie e log possono contenere dati aziendali, percorsi interni o frammenti di documenti. Limita gli accessi all'account hermes e cifra i backup fuori dal server.
7. Rafforzare la configurazione prima del funzionamento 24/7
Apri l'editor di configurazione integrato.
hermes config edit
Le impostazioni seguenti rendono esplicita una politica prudente.
approvals:
mode: smart
timeout: 300
cron_mode: deny
single_query_mode: deny
unattended_mode: deny
security:
allow_private_urls: false
Convalida poi la configurazione.
hermes config check
La modalità smart analizza i comandi considerati pericolosi e chiede una conferma quando serve una decisione umana. La modalità off, presentata anche come modalità --yolo, elimina queste richieste. Non è adatta a un agente raggiungibile via messaggistica su un VPS.
I tre valori deny impediscono che un'attività pianificata, una richiesta singola o un'API senza operatore presente approvino automaticamente un comando pericoloso. L'impostazione allow_private_urls: false, che è il valore predefinito, mantiene la protezione contro le richieste verso intervalli privati, loopback e indirizzi di metadati cloud. Attivala solo se l'accesso alla rete interna è indispensabile e accetti questo spostamento del confine di fiducia.
Questi meccanismi riducono il rischio, ma non trasformano l'esecuzione locale in una sandbox. Un prompt malevolo, uno strumento compromesso o un errore del modello possono comunque modificare tutti i file accessibili all'utente hermes.
Isolare i comandi in un container
Per un gateway di produzione autorizzato a eseguire codice, la documentazione raccomanda un backend isolato, in particolare Docker.
terminal:
backend: docker
docker_forward_env: []
container_cpu: 1
container_memory: 2048
container_disk: 10240
container_persistent: false
Questi limiti sono un esempio da adattare alla memoria e allo spazio del tuo VPS. Un elenco docker_forward_env vuoto evita di trasmettere le variabili del server ai comandi avviati nel container.
Questa opzione presuppone un'installazione Docker correttamente protetta. Non deve portarti a concedere alla cieca all'account hermes un accesso illimitato al socket Docker. Per capire il modello dei permessi, consulta Installare Docker su un VPS Linux e la nostra guida Docker Compose su un VPS Linux. In un ambiente sensibile, il backend SSH verso una macchina di lavoro separata isola ancora meglio il gateway e i segreti di messaggistica dai comandi prodotti dal modello.
8. Collegare Telegram, Discord o un'altra piattaforma di messaggistica
Hermes offre un unico gateway per più piattaforme. Avvia la sua procedura guidata.
hermes gateway setup
La procedura chiede le credenziali di ciascuna piattaforma, per esempio il token di un bot Telegram o Discord. Crea un bot dedicato, concedi solo i permessi necessari e non riutilizzare un token già usato da un'altra applicazione.
Limitare le persone autorizzate
Un token di bot valido non basta. Devi anche decidere chi può inviare istruzioni all'agente. Hermes rifiuta gli utenti sconosciuti finché non è definito un elenco di autorizzazioni e l'accesso globale non è attivato. Mantieni questo comportamento chiuso per impostazione predefinita.
Sono possibili due metodi.
- Usare l'abbinamento tramite codice, poi approvare solo la richiesta attesa.
- Dichiarare esplicitamente gli identificativi autorizzati per ogni piattaforma.
Per consultare gli abbinamenti in attesa, usa il comando seguente.
hermes pairing list
Per approvare un codice Telegram ricevuto dal canale previsto, indicalo così.
hermes pairing approve telegram CODICE_RICEVUTO
Se preferisci un elenco esplicito, aggiungi solo gli identificativi necessari in ~/.hermes/.env.
TELEGRAM_ALLOWED_USERS=123456789
DISCORD_ALLOWED_USERS=111222333444555666
Non impostare GATEWAY_ALLOW_ALL_USERS=true in produzione. Questa opzione permetterebbe a qualsiasi utente in grado di raggiungere il bot di interrogare l'agente, consumare il tuo budget per il modello e potenzialmente attivarne gli strumenti.
Dopo una modifica di .env, controlla di nuovo i suoi permessi.
chmod 600 ~/.hermes/.env
9. Installare il gateway come servizio systemd
Installa il servizio utente fornito da Hermes.
hermes gateway install
hermes gateway start
hermes gateway status
Poiché loginctl enable-linger hermes è già stato eseguito, il servizio continua dopo la chiusura della sessione SSH e si riavvia con il VPS. Verifica che sia attivato.
systemctl --user is-enabled hermes-gateway
systemctl --user is-active hermes-gateway
Consulta le ultime voci del log.
journalctl --user -u hermes-gateway -n 100 --no-pager
Per seguire gli eventi in tempo reale, aggiungi l'opzione -f.
journalctl --user -u hermes-gateway -f
La documentazione propone anche un servizio di sistema installato con sudo hermes gateway install --system. Su un VPS con un solo utente, il servizio utente con lingering è in genere più semplice e mantiene chiaramente l'identità non privilegiata. Non installare contemporaneamente un'unità utente e un'unità di sistema per lo stesso profilo, altrimenti avvierai due gateway in concorrenza.
Aggiungere un watchdog facoltativo
Systemd può riavviare il gateway se il suo ciclo di eventi si blocca. Aggiungi questa impostazione in ~/.hermes/config.yaml.
gateway:
systemd_watchdog_seconds: 120
Rigenera poi l'unità e riavviala.
hermes gateway install --force
hermes gateway stop
hermes gateway start
hermes gateway status
Questo watchdog rileva un processo bloccato. Non sostituisce il monitoraggio della connettività con Telegram, Discord o il fornitore del modello.
10. Bisogna aprire una porta nel firewall?
Per un classico bot Telegram o Discord, il gateway stabilisce da solo le connessioni in uscita necessarie. Di norma non devi pubblicare alcuna porta di Hermes su Internet. Il firewall può quindi continuare ad autorizzare solo i servizi desiderati, in particolare SSH e gli eventuali servizi web già gestiti.
Non aprire una porta solo perché compare in un esempio Docker o in una documentazione di API. Le interfacce server e le dashboard aumentano la superficie di attacco. Se devi usare un'interfaccia web, segui queste regole.
- Collegala a
127.0.0.1anziché a0.0.0.0. - Accedici tramite un tunnel SSH o una VPN.
- Oppure mettila dietro un reverse proxy HTTPS con autenticazione forte.
- Non considerare mai un numero di porta segreto come un controllo di accesso.
Un tunnel SSH locale segue questo principio.
ssh -L 9119:127.0.0.1:9119 hermes@INDIRIZZO_IP_DEL_VPS
Questo comando non avvia la dashboard. Rende solo raggiungibile dalla tua macchina locale un servizio già collegato al loopback. Se pubblichi un'applicazione tramite Nginx o Apache, proteggi anche il trasporto con TLS seguendo la nostra guida Certbot e Let's Encrypt su un VPS.
11. Fare il backup di Hermes senza dimenticare i segreti
Un backup del VPS è utile, ma un'esportazione a livello applicativo facilita anche il ripristino su un'altra macchina. Hermes fornisce un comando dedicato.
hermes backup
Secondo la procedura di migrazione ufficiale, questo comando crea nella cartella personale un archivio hermes-backup-<timestamp>.zip con tutto il contenuto di ~/.hermes/, compresi configurazione, chiavi API, memorie, sessioni, competenze e profili.
Questo archivio è quindi un segreto critico. Dopo averlo creato, segui questi passaggi.
- Verifica che esista e che la sua dimensione sia coerente.
- Testane l'integrità con
unzip -t. - Trasferiscilo su uno spazio di archiviazione esterno al VPS.
- Cifralo a riposo.
- Applica una politica di conservazione.
- Elimina la copia locale quando non serve più.
Ecco un esempio di controllo.
ls -lh ~/hermes-backup-*.zip
unzip -t ~/hermes-backup-AAAA-MM-GG_HH-MM-SS.zip
Sostituisci il nome con quello effettivamente generato. Non usare caratteri jolly in un comando di ripristino se sono presenti più archivi.
Il ripristino si esegue su un'installazione di Hermes esistente.
hermes import ~/hermes-backup-AAAA-MM-GG_HH-MM-SS.zip
hermes setup
hermes doctor
Testa regolarmente questa procedura su un VPS temporaneo o in un ambiente isolato. Un backup non testato resta un'ipotesi.
hermes profile export non equivale a hermes backup. L'esportazione di un profilo esclude volutamente le credenziali, mentre il backup completo le include. La prima serve a condividere un profilo ripulito, il secondo a ripartire dopo un incidente.
12. Aggiornare Hermes correttamente
Hermes evolve rapidamente. Evita comunque aggiornamenti automatici alla cieca su un gateway che esegue strumenti. Controlla prima la disponibilità e il piano.
hermes update --check
hermes update --plan
Il primo comando verifica se esiste un aggiornamento senza modificare i file né riavviare il gateway. Il secondo fa l'inventario dell'installazione e dei servizi coinvolti.
Per un deployment importante, richiedi un backup completo prima dell'aggiornamento.
hermes update --backup
La documentazione sull'aggiornamento indica che questa operazione aggiorna il codice e le dipendenze, gestisce le migrazioni della configurazione e riavvia i gateway rilevati. I log sono conservati in ~/.hermes/logs/update.log, con ricevute dettagliate in ~/.hermes/logs/update_receipts/.
Controlla poi lo stato dell'installazione.
cd ~/.hermes/hermes-agent
git status --short
hermes doctor
hermes --version
hermes gateway status
Un output vuoto di git status --short indica che l'albero di lavoro non ha modifiche locali. Se compaiono file anche se non hai mai modificato il codice, esaminali prima di qualsiasi altro aggiornamento.
Per imporre un backup completo a ogni aggiornamento, aggiungi questa impostazione.
updates:
pre_update_backup: full
Conserva comunque una copia esterna. Un archivio lasciato solo sul VPS non protegge né dalla perdita del server né dalla compromissione dell'account.
13. Monitorare e diagnosticare l'installazione
Tieni a portata di mano questa breve sequenza di diagnostica.
hermes doctor
hermes config check
hermes gateway status
journalctl --user -u hermes-gateway -n 200 --no-pager
df -h
free -h
Copre la maggior parte degli incidenti, che si tratti di una configurazione non valida, di un servizio fermo, di un errore della piattaforma, di un disco pieno o di memoria insufficiente.
Il comando hermes non viene trovato
Ricarica ~/.bashrc e controlla il percorso.
source ~/.bashrc
printf '%s\n' "$PATH"
ls -l ~/.local/bin/hermes
Il gateway si ferma dopo la disconnessione SSH
Verifica il lingering dall'account di amministratore.
loginctl show-user hermes -p Linger
Riattivalo se necessario.
sudo loginctl enable-linger hermes
Il bot risponde alle persone sbagliate o a nessuno
Controlla gli elenchi degli utenti e gli abbinamenti.
hermes pairing list
grep -E '^(TELEGRAM|DISCORD|GATEWAY).*ALLOWED_USERS' ~/.hermes/.env
Qui il comando grep mostra solo gli identificativi autorizzati, non le righe con i token. Controlla comunque il terminale prima di copiarne l'output in un ticket di assistenza.
La configurazione non corrisponde più dopo un aggiornamento
Usa gli strumenti integrati di convalida e migrazione.
hermes config check
hermes config migrate
Leggi le modifiche proposte prima di accettarle, poi esegui di nuovo hermes doctor.
La chiamata al modello fallisce
Le cause frequenti sono una chiave non valida, un modello non autorizzato, un credito esaurito, un endpoint errato o un problema DNS. Testa la risoluzione e HTTPS senza mostrare la chiave.
getent hosts hermes-agent.nousresearch.com
curl -I https://hermes-agent.nousresearch.com/
Riconfigura poi il fornitore con hermes model invece di modificare un segreto alla cieca.
Il browser non si avvia
Esegui hermes doctor e riprendi il comando per le dipendenze di sistema mostrato dall'installer. Le librerie di Chromium devono essere installate da un amministratore, mentre il browser e il suo profilo restano associati all'account hermes. Non concedere sudo all'account di servizio solo per risolvere questo problema.
14. Checklist prima della messa in produzione
Prima di lasciare l'agente attivo in modo permanente, conferma ogni punto.
- Hermes funziona con l'utente non privilegiato
hermes, mai conroot. - L'account
hermesnon appartiene né al grupposudoné, senza motivo, al gruppodocker. - Lo script di installazione è stato scaricato dal dominio ufficiale ed esaminato prima dell'esecuzione.
hermes doctornon segnala errori incompresi.- I file
.enveauth.jsonsono limitati al loro proprietario. - Gli account di messaggistica sono controllati tramite abbinamento o elenco esplicito.
GATEWAY_ALLOW_ALL_USERSnon è attivato.- La modalità di approvazione non è impostata su
off. - Le attività senza operatore rifiutano i comandi pericolosi.
- Gli URL privati restano bloccati salvo necessità documentata.
- Nessuna dashboard né porta API è esposta direttamente su Internet.
- I backup completi sono cifrati, esternalizzati e testati.
- Gli aggiornamenti vengono verificati in anteprima, preceduti da un backup e convalidati.
- Log, spazio su disco e memoria sono monitorati.
Conclusione
Installare Hermes Agent su un VPS non si riduce a eseguire una riga curl | bash. Il vero lavoro consiste nel definire un confine di fiducia duraturo, con un utente Linux dedicato, un accesso di messaggistica limitato, segreti protetti, comandi isolati, nessuna porta pubblica inutile e backup ripristinabili.
Il percorso consigliato è volutamente essenziale. Inizia senza browser né interfaccia pubblica, verifica il funzionamento del modello da riga di comando, poi aggiungi un'integrazione alla volta. Questo approccio graduale semplifica la diagnostica ed evita di concedere permessi prima di averne davvero bisogno.
