Linux•21 de septiembre de 2026• 115 vistas

Instalar Hermes Agent en un VPS Linux: despliegue seguro y funcionamiento 24/7

Instalar Hermes Agent en un VPS Linux: despliegue seguro y funcionamiento 24/7

Hermes Agent es un agente de inteligencia artificial de código abierto desarrollado por Nous Research. A diferencia de una simple interfaz de chat, puede usar herramientas, ejecutar comandos, conservar memoria, programar tareas y responder desde plataformas como Telegram o Discord. Instalado en un VPS, permanece disponible en todo momento, incluso cuando su ordenador personal está apagado.

Esta flexibilidad implica un riesgo mayor que el de un chatbot clásico. Un agente capaz de ejecutar comandos no debe funcionar como root, aceptar mensajes de cualquier parte de Internet ni guardar sus claves API en un archivo legible por todos. Por eso esta guía propone una instalación pensada para un servidor, con una cuenta Linux dedicada, un script revisado antes de ejecutarlo, un servicio systemd, acceso restringido, copias de seguridad y un procedimiento de actualización.

Esta guía se verificó el 17 de septiembre de 2026 en Debian y Ubuntu. Hermes Agent evoluciona con rapidez. Revise siempre una actualización antes de aplicarla y lea las notas oficiales antes de instalarla en una instancia de producción.

Esta guía trata del proyecto Hermes Agent de Nous Research, distribuido bajo licencia MIT. No debe confundirse con otros productos que llevan el nombre Hermes.

Lo que va a poner en marcha

Al terminar la instalación, tendrá la siguiente arquitectura.

  • Hermes Agent se ejecuta con un usuario Linux sin privilegios llamado hermes.
  • Los archivos de configuración, las sesiones y los secretos permanecen en /home/hermes/.hermes/.
  • El modelo de IA lo proporciona el servicio que usted elija, o un endpoint compatible que usted mismo gestione.
  • La pasarela de Hermes funciona como servicio de usuario systemd y se reinicia al arrancar.
  • Solo las cuentas de Telegram, Discord u otras que usted haya autorizado pueden hablar con el agente.
  • Por defecto, ningún puerto de administración de Hermes queda expuesto públicamente.

Hermes Agent es gratuito y de código abierto, pero el uso de un proveedor de modelos puede tener coste. El proyecto no incluye un gran modelo de lenguaje capaz de funcionar con soltura en un VPS pequeño. El consumo y el procesamiento de las solicitudes dependen, por tanto, del proveedor elegido.

Requisitos previos y dimensionamiento del VPS

La documentación oficial de instalación es compatible con Linux y pide básicamente Git, curl y xz-utils. Después, el instalador se encarga de su entorno Python, de Node.js y del resto de componentes necesarios.

Para seguir esta guía, necesitará lo siguiente.

  • Un VPS reciente con Debian o Ubuntu, por ejemplo un VPS Linux de OuiHeberg.
  • Una cuenta de administración con sudo.
  • Acceso SSH con clave.
  • Salida HTTPS a Internet y resolución DNS operativas.
  • Una clave API o una suscripción con el proveedor de modelos elegido.
  • Opcionalmente, un token de Telegram, Discord u otra plataforma compatible.

Hermes no publica un mínimo de hardware universal, porque las necesidades cambian según las herramientas activadas. Los valores siguientes son recomendaciones de explotación, no requisitos oficiales.

UsovCPUMemoriaAlmacenamientoObservación
CLI y pasarela con modelo remoto24 GB25 GB NVMeBase razonable para un uso personal
Navegación, audio o varias sesiones48 GB50 GB NVMeMás margen para Chromium y el procesamiento simultáneo
Modelo ejecutado en localVariableVariableVariableDepende por completo del modelo, a menudo con GPU dedicada

Un VPS pequeño es suficiente cuando el cálculo del modelo se delega a una API. Puede quedarse corto si el agente abre un navegador, procesa archivos grandes o ejecuta varias tareas a la vez. Vigile la memoria, el espacio en disco y los procesos tras unos días de uso real.

Nuestra página VPS Hermes Agent presenta las ofertas adaptadas a este uso. En ella se recomienda como punto de partida el VPS Linux 04G con sus 4 GB de RAM.

Antes de instalar un agente autónomo, aplique también las bases de seguridad del servidor (actualizaciones, SSH con clave, cortafuegos, copias de seguridad y registro). Nuestra checklist para asegurar un VPS Linux detalla estos requisitos.

1. Actualizar el sistema

Conéctese al VPS con su cuenta de administración y actualice el índice de paquetes y los paquetes ya instalados.

sudo apt update
sudo apt upgrade

Instale después los requisitos indicados por el proyecto.

sudo apt install ca-certificates curl git xz-utils

Compruebe que los comandos están disponibles.

git --version
curl --version
xz --version

Si una actualización del núcleo o de un componente importante del sistema requiere reiniciar, hágalo antes de continuar. Así evitará diagnosticar Hermes mientras el servidor sigue usando bibliotecas antiguas.

2. Crear una cuenta Linux dedicada

No instale Hermes en /root ni ejecute su pasarela como superusuario. La checklist oficial de producción recomienda de forma explícita una cuenta sin privilegios root.

Cree un usuario llamado hermes.

sudo adduser --disabled-password --gecos "" hermes

No lo añada al grupo sudo. Tampoco lo añada al grupo docker sin analizar las consecuencias, ya que el acceso directo al socket de Docker suele dar privilegios equivalentes a root en el host.

Para administrar esta cuenta por SSH, instale únicamente la clave pública deseada. Si el archivo ~/.ssh/authorized_keys de su cuenta actual contiene la clave que también debe acceder a la cuenta hermes, puede copiarlo así.

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

Compruebe los permisos.

sudo ls -ld /home/hermes /home/hermes/.ssh
sudo ls -l /home/hermes/.ssh/authorized_keys

Active después el lingering para que los servicios de usuario sigan activos tras cerrar la sesión. Esta opción permite que el servicio systemd de Hermes arranque al iniciar el servidor sin dejar una sesión SSH abierta.

sudo loginctl enable-linger hermes

Compruebe el resultado.

loginctl show-user hermes -p Linger

La salida esperada es Linger=yes.

Abra ahora una nueva conexión SSH directamente con esta cuenta.

ssh hermes@DIRECCION_IP_DEL_VPS

Salvo que se indique lo contrario, todos los comandos siguientes se ejecutan desde esta sesión y sin sudo.

3. Descargar y revisar el instalador oficial

Hermes publica un comando de instalación rápida.

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

Es práctico, pero pasa de inmediato el contenido recibido al intérprete. En un servidor, es preferible separar la descarga de la ejecución para poder leer el script y conservar la huella exacta del archivo utilizado.

Descargue el instalador desde el dominio oficial.

curl --proto '=https' --tlsv1.2 -fsSLo /tmp/hermes-install.sh \
  https://hermes-agent.nousresearch.com/install.sh

Muestre su huella SHA-256 y lea su contenido.

sha256sum /tmp/hermes-install.sh
less /tmp/hermes-install.sh

La huella sirve para identificar el archivo que ha revisado y para documentar su despliegue. Por sí sola no es una firma del editor. Compruebe como mínimo que el script procede del dominio oficial, que no contiene destinos inesperados y que las rutas de instalación coinciden con la documentación.

Instalación mínima para un VPS sin navegador

Si el agente no necesita controlar Chromium ni usar las funciones de control visual, reduzca el software instalado.

bash /tmp/hermes-install.sh --skip-browser --skip-computer-use

Esta opción es adecuada para un bot que usa sobre todo un modelo remoto, API y herramientas de texto. Los componentes omitidos pueden añadirse más adelante.

Instalación con automatización del navegador

Para usar las herramientas de navegación local, ejecute el script sin estas opciones.

bash /tmp/hermes-install.sh

La instalación de las bibliotecas de sistema de Chromium requiere privilegios de administrador. Como la cuenta hermes no tiene sudo a propósito, el instalador instala lo que puede en su espacio de usuario y luego muestra el comando exacto que debe ejecutar un administrador. Ejecútelo desde su cuenta de administración. La documentación oficial menciona también sudo npx playwright install-deps chromium para Debian y Ubuntu, pero es mejor usar el comando que muestra la versión realmente instalada.

El instalador coloca normalmente los elementos en las siguientes ubicaciones.

ElementoUbicación por usuario
Código del proyecto~/.hermes/hermes-agent/
Comando hermes~/.local/bin/hermes
Configuración y datos~/.hermes/

Este modo aísla la instalación en /home/hermes. Una instalación lanzada con sudo usaría otra estructura y, sobre todo, podría guardar los secretos en /root/.hermes, algo que aquí evitamos.

4. Verificar la instalación

Recargue el entorno de la shell.

source ~/.bashrc

Compruebe después la ruta del comando, la versión y el estado general.

command -v hermes
hermes --version
hermes doctor

El primer resultado debería apuntar a /home/hermes/.local/bin/hermes. El comando hermes doctor revisa, entre otras cosas, el entorno, la configuración y las dependencias.

Si hermes sigue sin encontrarse, añada el directorio de usuario al PATH y recargue la shell.

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

No ejecute directamente el archivo fuente ~/.hermes/hermes-agent/hermes con el Python del sistema. La documentación advierte que así se omite el entorno virtual y pueden aparecer errores por módulos ausentes.

5. Configurar el proveedor de modelos

Hermes orquesta un modelo, pero el VPS no proporciona el servicio de inferencia. Inicie el asistente de selección.

hermes model

También puede usar el asistente general.

hermes setup

El proyecto admite varios proveedores y endpoints personalizados. Elija según sus necesidades de confidencialidad, coste, ubicación de los datos y compatibilidad de las herramientas. Con un proveedor externo, las solicitudes enviadas al modelo salen de su VPS. La FAQ oficial indica que Hermes no recoge telemetría y guarda en local conversaciones, memoria y habilidades, pero las llamadas se envían igualmente al proveedor que usted configure.

Introduzca las claves en el asistente interactivo. Evite escribir un secreto directamente en un comando, porque podría quedar en el historial de la shell, en los registros de una herramienta de automatización o en la lista de procesos.

Proteja después los archivos sensibles que se hayan creado.

chmod 700 ~/.hermes
find ~/.hermes -maxdepth 1 -type f \
  \( -name '.env' -o -name 'auth.json' \) \
  -exec chmod 600 {} +

Los secretos pertenecen a la cuenta hermes y nunca deben copiarse en un repositorio Git. Para un uso empresarial, la documentación de secretos describe también cómo cargarlos desde gestores externos como 1Password o Bitwarden Secrets Manager.

Pruebe por último una solicitud sencilla.

hermes chat -q "Responde únicamente con: instalación operativa"

Si la llamada falla, compruebe la clave, el nombre del modelo, el saldo de la cuenta del proveedor, la fecha del servidor y la conectividad HTTPS antes de continuar.

6. Entender los datos almacenados

El directorio ~/.hermes/ es lo primero que hay que proteger y respaldar. Según las funciones utilizadas, contiene en particular los siguientes archivos.

RutaFunciónSensibilidad
config.yamlConfiguración no secreta del agente y sus herramientasMedia
.envClaves API, tokens y parámetros secretosCrítica
auth.jsonDatos de autenticaciónCrítica
state.dbEstado persistente de la pasarela y las sesionesAlta
SOUL.mdInstrucciones e identidad del agenteMedia
memories/Memoria conservada por el agenteAlta
sessions/Historial y contexto de las sesionesAlta
skills/Habilidades añadidasVariable
cron/Tareas programadasAlta
logs/Registros de funcionamientoVariable

Que un archivo no contenga claves API no lo convierte en público. Las conversaciones, memorias y registros pueden contener datos de negocio, rutas internas o fragmentos de documentos. Limite el acceso a la cuenta hermes y cifre las copias de seguridad fuera del servidor.

7. Reforzar la configuración antes del funcionamiento 24/7

Abra el editor de configuración integrado.

hermes config edit

Los siguientes ajustes hacen explícita una política prudente.

approvals:
  mode: smart
  timeout: 300
  cron_mode: deny
  single_query_mode: deny
  unattended_mode: deny

security:
  allow_private_urls: false

Valide después la configuración.

hermes config check

El modo smart analiza los comandos considerados peligrosos y pide confirmación cuando hace falta una decisión humana. El modo off, también presentado como modo --yolo, elimina estas solicitudes. No es adecuado para un agente accesible por mensajería en un VPS.

Los tres valores deny impiden que una tarea programada, una consulta única o una API sin operador presente aprueben automáticamente un comando peligroso. El ajuste allow_private_urls: false, que es el valor por defecto, mantiene la protección frente a solicitudes hacia rangos privados, loopback y direcciones de metadatos de la nube. Actívelo solo si el acceso a la red interna es imprescindible y acepta este cambio en la frontera de confianza.

Estos mecanismos reducen el riesgo, pero no convierten la ejecución local en un entorno aislado. Un prompt malicioso, una herramienta comprometida o un error del modelo pueden seguir modificando todos los archivos a los que tiene acceso el usuario hermes.

Aislar los comandos en un contenedor

Para una pasarela de producción autorizada a ejecutar código, la documentación recomienda un backend aislado, en particular Docker.

terminal:
  backend: docker
  docker_forward_env: []
  container_cpu: 1
  container_memory: 2048
  container_disk: 10240
  container_persistent: false

Estos límites son un ejemplo que debe adaptar a la memoria y al almacenamiento de su VPS. Una lista docker_forward_env vacía evita transmitir las variables del servidor a los comandos lanzados dentro del contenedor.

Esta opción supone una instalación de Docker bien reforzada. No debe llevarle a dar a ciegas a la cuenta hermes un acceso ilimitado al socket de Docker. Para entender el modelo de permisos, consulte Instalar Docker en un VPS Linux y nuestra guía Docker Compose en un VPS Linux. En un entorno sensible, el backend SSH hacia una máquina de trabajo separada aísla todavía mejor la pasarela y los secretos de mensajería de los comandos generados por el modelo.

8. Conectar Telegram, Discord u otra mensajería

Hermes ofrece una pasarela única para varias plataformas. Inicie su asistente.

hermes gateway setup

El asistente pide las credenciales de cada plataforma, por ejemplo el token de un bot de Telegram o Discord. Cree un bot dedicado, conceda solo los permisos necesarios y no reutilice un token que ya use otra aplicación.

Restringir las personas autorizadas

Un token de bot válido no basta. También debe decidir quién puede enviar instrucciones al agente. Hermes rechaza a los usuarios desconocidos mientras no haya una lista de autorización definida ni esté activado el acceso global. Mantenga este comportamiento cerrado por defecto.

Hay dos métodos posibles.

  1. Usar el emparejamiento por código y aprobar solo la solicitud esperada.
  2. Declarar explícitamente los identificadores autorizados para cada plataforma.

Para consultar los emparejamientos pendientes, use el siguiente comando.

hermes pairing list

Para aprobar un código de Telegram recibido por el canal previsto, indíquelo así.

hermes pairing approve telegram CODIGO_RECIBIDO

Si prefiere una lista explícita, añada solo los identificadores necesarios en ~/.hermes/.env.

TELEGRAM_ALLOWED_USERS=123456789
DISCORD_ALLOWED_USERS=111222333444555666

No ponga GATEWAY_ALLOW_ALL_USERS=true en producción. Esta opción permitiría a cualquier usuario que pueda contactar con el bot solicitar al agente, consumir su presupuesto de modelo y, potencialmente, activar sus herramientas.

Tras modificar .env, vuelva a comprobar sus permisos.

chmod 600 ~/.hermes/.env

9. Instalar la pasarela como servicio systemd

Instale el servicio de usuario que proporciona Hermes.

hermes gateway install
hermes gateway start
hermes gateway status

Como ya se ejecutó loginctl enable-linger hermes, el servicio continúa tras cerrar la sesión SSH y se reinicia con el VPS. Compruebe que está activado.

systemctl --user is-enabled hermes-gateway
systemctl --user is-active hermes-gateway

Consulte las últimas entradas del registro.

journalctl --user -u hermes-gateway -n 100 --no-pager

Para seguir los eventos en directo, añada la opción -f.

journalctl --user -u hermes-gateway -f

La documentación propone también un servicio de sistema instalado con sudo hermes gateway install --system. En un VPS de un solo usuario, el servicio de usuario con lingering suele ser más sencillo y conserva claramente la identidad sin privilegios. No instale a la vez una unidad de usuario y una unidad de sistema para el mismo perfil, o acabará con dos pasarelas en competencia.

Añadir un watchdog opcional

Systemd puede reiniciar la pasarela si su bucle de eventos se bloquea. Añada este ajuste en ~/.hermes/config.yaml.

gateway:
  systemd_watchdog_seconds: 120

Regenere después la unidad y reiníciela.

hermes gateway install --force
hermes gateway stop
hermes gateway start
hermes gateway status

Este watchdog detecta un proceso bloqueado. No sustituye la supervisión de la conectividad con Telegram, Discord o el proveedor de modelos.

10. ¿Hay que abrir un puerto en el cortafuegos?

Para un bot clásico de Telegram o Discord, la pasarela establece por sí misma las conexiones salientes necesarias. Normalmente no tiene que publicar ningún puerto de Hermes en Internet. El cortafuegos puede seguir permitiendo solo los servicios deseados, en particular SSH y los servicios web que ya administre.

No abra un puerto solo porque aparezca en un ejemplo de Docker o en una documentación de API. Las interfaces de servidor y los paneles aumentan la superficie de ataque. Si necesita una interfaz web, siga estas reglas.

  • Vincúlela a 127.0.0.1 en lugar de 0.0.0.0.
  • Acceda a ella mediante un túnel SSH o una VPN.
  • O colóquela detrás de un proxy inverso HTTPS con autenticación robusta.
  • No considere nunca un número de puerto secreto como un control de acceso.

Un túnel SSH local sigue este principio.

ssh -L 9119:127.0.0.1:9119 hermes@DIRECCION_IP_DEL_VPS

Este comando no inicia el panel. Solo hace accesible desde su máquina local un servicio ya vinculado al loopback. Si publica una aplicación con Nginx o Apache, proteja también el transporte con TLS siguiendo nuestra guía Certbot y Let's Encrypt en un VPS.

11. Hacer copias de seguridad de Hermes sin olvidar los secretos

Una copia de seguridad del VPS es útil, pero una exportación a nivel de aplicación facilita además la restauración en otra máquina. Hermes ofrece un comando específico.

hermes backup

Según el procedimiento oficial de migración, este comando crea en el directorio personal un archivo hermes-backup-<timestamp>.zip con todo el contenido de ~/.hermes/, incluidas la configuración, las claves API, las memorias, las sesiones, las habilidades y los perfiles.

Este archivo es, por tanto, un secreto crítico. Una vez creado, siga estos pasos.

  1. Compruebe que existe y que su tamaño es coherente.
  2. Pruebe su integridad con unzip -t.
  3. Transfiéralo a un almacenamiento fuera del VPS.
  4. Cífrelo en reposo.
  5. Aplique una política de retención.
  6. Elimine la copia local cuando ya no la necesite.

Este es un ejemplo de comprobación.

ls -lh ~/hermes-backup-*.zip
unzip -t ~/hermes-backup-AAAA-MM-DD_HH-MM-SS.zip

Sustituya el nombre por el que se haya generado realmente. No use comodines en un comando de restauración si hay varios archivos.

La restauración se realiza sobre una instalación de Hermes existente.

hermes import ~/hermes-backup-AAAA-MM-DD_HH-MM-SS.zip
hermes setup
hermes doctor

Pruebe este procedimiento con regularidad en un VPS temporal o en un entorno aislado. Una copia de seguridad no probada sigue siendo una suposición.

hermes profile export no equivale a hermes backup. La exportación de un perfil excluye a propósito las credenciales, mientras que la copia completa las incluye. La primera sirve para compartir un perfil depurado y la segunda para recuperarse tras un incidente.

12. Actualizar Hermes correctamente

Hermes evoluciona rápido. Aun así, evite las actualizaciones automáticas a ciegas en una pasarela que ejecuta herramientas. Revise primero la disponibilidad y el plan.

hermes update --check
hermes update --plan

El primer comando comprueba si hay una actualización sin modificar archivos ni reiniciar la pasarela. El segundo hace inventario de la instalación y de los servicios afectados.

Para un despliegue importante, solicite una copia de seguridad completa antes de actualizar.

hermes update --backup

La documentación de actualización indica que esta operación actualiza el código y las dependencias, aplica las migraciones de configuración y reinicia las pasarelas detectadas. Los registros se guardan en ~/.hermes/logs/update.log, con recibos detallados en ~/.hermes/logs/update_receipts/.

Compruebe después el estado de la instalación.

cd ~/.hermes/hermes-agent
git status --short
hermes doctor
hermes --version
hermes gateway status

Una salida vacía de git status --short indica que el árbol de trabajo no tiene cambios locales. Si aparecen archivos aunque nunca haya modificado el código, revíselos antes de cualquier otra actualización.

Para exigir una copia de seguridad completa en cada actualización, añada este ajuste.

updates:
  pre_update_backup: full

Conserve de todos modos una copia externa. Un archivo que solo está en el VPS no protege ni frente a la pérdida del servidor ni frente a una cuenta comprometida.

13. Supervisar y diagnosticar la instalación

Tenga a mano esta breve secuencia de diagnóstico.

hermes doctor
hermes config check
hermes gateway status
journalctl --user -u hermes-gateway -n 200 --no-pager
df -h
free -h

Cubre la mayoría de las incidencias, ya sea una configuración no válida, un servicio detenido, un error de plataforma, un disco lleno o falta de memoria.

No se encuentra el comando hermes

Recargue ~/.bashrc y compruebe la ruta.

source ~/.bashrc
printf '%s\n' "$PATH"
ls -l ~/.local/bin/hermes

La pasarela se detiene al cerrar la sesión SSH

Compruebe el lingering desde la cuenta de administrador.

loginctl show-user hermes -p Linger

Vuelva a activarlo si es necesario.

sudo loginctl enable-linger hermes

El bot responde a quien no debe o no responde a nadie

Compruebe las listas de usuarios y los emparejamientos.

hermes pairing list
grep -E '^(TELEGRAM|DISCORD|GATEWAY).*ALLOWED_USERS' ~/.hermes/.env

Aquí el comando grep solo muestra los identificadores autorizados, no las líneas con tokens. Revise de todos modos su terminal antes de copiar la salida en un ticket de soporte.

La configuración ya no encaja tras una actualización

Use las herramientas integradas de validación y migración.

hermes config check
hermes config migrate

Lea los cambios propuestos antes de aceptarlos y vuelva a ejecutar hermes doctor.

La llamada al modelo falla

Las causas habituales son una clave no válida, un modelo no autorizado, un saldo agotado, un endpoint erróneo o un problema de DNS. Pruebe la resolución y HTTPS sin mostrar la clave.

getent hosts hermes-agent.nousresearch.com
curl -I https://hermes-agent.nousresearch.com/

Vuelva a configurar después el proveedor con hermes model en lugar de editar un secreto a ciegas.

El navegador no arranca

Ejecute hermes doctor y use el comando de dependencias del sistema que mostró el instalador. Las bibliotecas de Chromium debe instalarlas un administrador, mientras que el navegador y su perfil siguen asociados a la cuenta hermes. No conceda sudo a la cuenta de servicio solo para resolver este problema.

14. Checklist antes de pasar a producción

Antes de dejar el agente funcionando de forma permanente, confirme cada punto.

  • Hermes funciona con el usuario sin privilegios hermes, nunca con root.
  • La cuenta hermes no pertenece al grupo sudo ni, sin justificación, al grupo docker.
  • El script de instalación se descargó del dominio oficial y se revisó antes de ejecutarlo.
  • hermes doctor no muestra ningún error que no se entienda.
  • Los archivos .env y auth.json están limitados a su propietario.
  • Las cuentas de mensajería se controlan por emparejamiento o lista explícita.
  • GATEWAY_ALLOW_ALL_USERS no está activado.
  • El modo de aprobación no está en off.
  • Las tareas sin operador rechazan los comandos peligrosos.
  • Las URL privadas siguen bloqueadas salvo necesidad documentada.
  • Ningún panel ni puerto de API está expuesto directamente a Internet.
  • Las copias de seguridad completas están cifradas, externalizadas y probadas.
  • Las actualizaciones se revisan, se respaldan y se validan.
  • Los registros, el espacio en disco y la memoria están supervisados.

Conclusión

Instalar Hermes Agent en un VPS no consiste solo en ejecutar una línea curl | bash. El verdadero trabajo es definir una frontera de confianza duradera, con un usuario Linux dedicado, un acceso de mensajería limitado, secretos protegidos, comandos aislados, ningún puerto público innecesario y copias de seguridad restaurables.

El camino recomendado es deliberadamente sobrio. Empiece sin navegador ni interfaz pública, valide el funcionamiento del modelo en línea de comandos y añada después una integración cada vez. Este avance progresivo facilita el diagnóstico y evita conceder permisos antes de necesitarlos de verdad.

Fuentes y documentación oficial