SSD Nodes Learn Hosting plans →
Guias Matt ConnorPor Matt Connor

Hermes Agent em VPS de $5: requisitos e segurança

O Hermes não precisa de GPU: o modelo roda fora do VPS. Veja por que $5 bastam e como usar usuário próprio, ProtectSystem=strict no systemd e IPv6 no UFW.

O que é o Hermes Agent

O Hermes Agent é um agente de IA autoalojado da Nous Research, lançado publicamente pela primeira vez como v0.2.0 em 12 de março de 2026. É executado no seu próprio servidor e mantém uma memória persistente dos seus projetos, escreve as suas próprias competências reutilizáveis enquanto trabalha e permite o contacto consigo através de aplicações de chat como Telegram e Discord. Não depende de um modelo específico. Pode configurá-lo para usar o modelo de linguagem que preferir. É suficientemente leve para ser executado num VPS de $5, num contentor Docker ou através de SSH. Nesta arquitetura, o modelo é executado noutro local, enquanto o ciclo de execução, as ferramentas e a memória são executados no seu servidor. É isso que faz do Hermes uma estrutura para agentes, e é por isso que um servidor pequeno é suficiente.

Como qualquer agente, o seu valor resulta de agir em seu nome. Por isso, também deve configurá-lo com cuidado. Um agente que memoriza, aprende e executa tarefas é um processo persistente com acesso efetivo ao seu servidor. Este guia instala-o de forma segura. As medidas de proteção aplicadas aqui são as mesmas que usaria para executar o OpenClaw em segurança.

A instalação com um comando e por que deve lê-lo primeiro

O Hermes é instalado com um único comando:

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

Isto é conveniente, mas também é um padrão que deve ser tratado com cuidado. Encaminhar diretamente um script da Internet para uma shell executa tudo o que esse script contém, com a conta do utilizador que o executa. Antes de o executar num servidor real, descarregue-o primeiro, leia-o e execute-o com um utilizador dedicado, em vez de root:

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

Isto não significa desconfiar especificamente do Hermes. É o hábito que impede que qualquer instalação do curl | bash se torne silenciosamente o elo mais fraco da sua configuração.

Dê-lhe um utilizador sem privilégios

Execute o Hermes com uma conta de sistema própria, nunca como root, para que um erro ou uma instrução inadequada não possa afetar o resto da máquina. Crie um utilizador sem shell de login:

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

Instale o Hermes em /opt/hermes e torne essa conta a proprietária. O instalador oficial instala o software para o utilizador que o executa. Por isso, execute o script que descarregou como o utilizador hermes, por exemplo sudo -u hermes bash hermes-install.sh. Assim, os ficheiros ficam no diretório pessoal dessa conta, e não no seu. O motivo é o mesmo explicado em executar serviços como um utilizador sem privilégios: a conta com que o agente é executado define o limite dos danos que pode causar. A conta do sistema é apenas metade da configuração. As definições do próprio agente determinam quanto ele pode fazer sem pedir confirmação. Esta é a questão por detrás dos modos de permissão do Claude Code quando o agente é executado num servidor ao qual não está ligado diretamente. Se o servidor tiver de atender mais pessoas além de si, o OneCLI aplica a ideia de uma conta por agente a uma equipa inteira ao dar a cada pessoa o seu próprio agente isolado, enquanto as chaves do modelo permanecem num único gateway que ninguém precisa de copiar.

Proteja o servidor com uma firewall e isole os segredos

O Hermes funciona ao ligar-se a um modelo e às aplicações de chat que configura, por isso não precisa de aceitar ligações de entrada da internet. Coloque uma firewall com política padrão de negar tudo à frente do servidor:

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

Tenha atenção à lacuna da firewall IPv6, porque um conjunto de regras que abrange apenas IPv4 pode deixar um serviço exposto em IPv6. Se o agente precisar mesmo de aceder a algo que só existe na sua rede doméstica, como um NAS ou uma base de dados local, anunciar essa rede à sua tailnet com um router de sub-rede permite aceder-lhe através de uma ligação de saída, em vez de uma porta de entrada aberta. Mantenha a chave da API do modelo e quaisquer tokens de chat num ficheiro que apenas o utilizador hermes possa ler (modo 600) e carregue-o no serviço, em vez de os colar numa linha de comandos, onde ficam no histórico da shell. Um ficheiro de secrets como esse é um alvo pequeno e valioso, tal como o token de administrador por trás de um gestor de palavras-passe self-hosted, e o raciocínio em reforçar a segurança do Vaultwarden aplica-se igualmente: proteja o único ficheiro que desbloqueia tudo o resto e proteja as respetivas cópias de segurança com o mesmo cuidado. As permissões de ficheiros impedem o acesso de outros utilizadores do sistema, mas não do fornecedor que está por baixo dele. Por isso, se as chaves na posse do agente forem suficientemente sensíveis para alterar essa avaliação, a memória cifrada e a atestação são o que determina se a sua empresa de alojamento pode lê-las a partir da RAM.

Executar o Hermes como um serviço systemd reforçado

Uma unidade systemd mantém o Hermes em execução depois de terminar a sessão e depois de um reboot, reinicia-o se ele falhar e permite adicionar mecanismos de isolamento ao nível do kernel que limitam aquilo a que o processo pode aceder. Ative NoNewPrivileges, ProtectSystem=strict, PrivateTmp e ProtectHome para manter o impacto de uma intrusão contido.

Gere aqui uma unidade reforçada e copie-a depois para /etc/systemd/system/hermes.service. A unidade inicia hermes gateway, o processo de longa duração que estabelece ligação às suas aplicações de chat; execute hermes --help depois da instalação para confirmar, na sua versão, esse comando e o caminho do binário antes de ativar o serviço:

ToolGenerate a hardened systemd unit for the agent

As diretivas e os passos daemon-reload e enable --now são explicados em executar um programa como serviço systemd:

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

Para ver um exemplo completo do mesmo padrão com outro agente, executar dsh sem interface sob o systemd dedica mais tempo às regras de Restart e aos comandos journalctl que serão úteis na primeira vez que o serviço falhar durante a noite. Melhor ainda, não espere até de manhã para descobrir: uma unidade OnFailure= que envia o alerta para o seu próprio servidor ntfy coloca uma notificação no seu telefone no momento em que o Hermes deixar de tentar reiniciar.

Se preferir que o systemd supervisione um contentor em vez de uma instalação nativa, manter o KiroCrew ativo como contentor fixado obtém o mesmo resultado após um reboot, mantendo a versão da imagem fixa.

Proteja o servidor à volta dele

Termine por proteger a porta de entrada. Mude o SSH para autenticação apenas por chave e desative o início de sessão de root, como em Reforçar a segurança do SSH num VPS, para que a conta usada para administrar o servidor não possa ser adivinhada. Um agente que mantém memória persistente merece proteção, e a proteção mais barata consiste em garantir que ninguém consegue iniciar sessão no servidor onde ele está instalado.

Depois de proteger o próprio servidor, a capacidade que a maioria das pessoas adiciona a seguir é a pesquisa na Web, e apontar o agente para a sua própria instância SearXNG mantém essas consultas no seu próprio servidor, ao custo de lhe fornecer páginas que ninguém verificou. O Hermes também raramente é o único agente no servidor e, se mantiver o Claude Code a correr nesse servidor, duas sessões podem entregar trabalho diretamente uma à outra em vez de encaminhar cada transferência através de si. Se o próximo agente que adicionar ler o seu código em vez das suas aplicações de chat, executar as verificações de segurança do open-kritt no mesmo servidor segue o mesmo modelo: uma release fixada, a sua própria conta e uma interface Web acedida através de um túnel SSH, em vez de uma porta aberta.

Se preferir compreender o funcionamento interno em vez de executar um agente empacotado, criar o seu próprio agente de IA num VPS explica o processo passo a passo. Se o vocabulário desse guia ainda for novo, um percurso faseado para aprender sobre agentes de IA apresenta o ciclo, as ferramentas, a memória e a segurança pela ordem em que se apoiam uns nos outros, para que as escolhas feitas pelo Hermes deixem de parecer magia.

FAQ

Posso executar o Hermes Agent num VPS barato?

Sim. O Hermes foi concebido para funcionar num servidor pequeno, e um VPS de $5 é suficiente para um agente pessoal sempre ativo. O agente liga-se a um modelo de linguagem e às suas aplicações de chat, em vez de servir tráfego pesado, por isso consome poucos recursos. Dê-lhe um utilizador próprio, uma firewall e um serviço systemd, e um VPS pequeno executa-o sem problemas. Se já tiver uma máquina em casa, compare primeiro os custos do hardware e da eletricidade com essa mensalidade, porque um servidor Proxmox em casa e um VPS alugado têm vantagens diferentes.

É seguro executar o script de instalação de uma linha?

A instalação curl | bash é conveniente, mas a prática segura consiste em transferir o script, lê-lo antes de o executar e executar a instalação com um utilizador dedicado, em vez de root. Assim, um instalador encaminhado por pipe, de qualquer projeto, nunca poderá fazer mais do que aquilo que essa conta limitada permite. Isto não é específico do Hermes; é uma boa prática para qualquer instalação deste tipo.

Como executo o Hermes sem root?

Crie um utilizador de sistema dedicado sem shell de login, instale o Hermes num diretório pertencente a esse utilizador, como /opt/hermes, e execute o serviço com essa conta. Se o agente for comprometido, os danos ficam limitados ao que essa conta conseguir aceder.

Como mantenho o Hermes em execução depois de terminar a sessão?

Execute-o como um serviço systemd. Um ficheiro de unidade inicia o Hermes no arranque, reinicia-o se falhar e mantém-no em execução depois de terminar a sessão SSH, enquanto as opções de sandboxing do systemd limitam aquilo a que o processo pode aceder. Gere uma unidade reforçada com a ferramenta acima e ative-a com systemctl enable --now hermes.

O Hermes Agent precisa de uma GPU?

Não. O Hermes é o runtime do agente, não o modelo de linguagem, por isso funciona bem num VPS pequeno apenas com CPU. O processamento pesado ocorre normalmente onde o modelo é executado, em geral numa API alojada à qual o liga. Se também quiser alojar o modelo no mesmo servidor, dimensione a máquina para o modelo, não para o próprio Hermes. Para alojamento de modelos apenas com CPU, aplicam-se os valores do guia do Ollama.