Configuración

Claude Code en un VPS

Un pequeño servidor siempre encendido saca a Claude Code de tu portátil y le permite seguir trabajando mientras tú no lo haces. Esta es una configuración rápida de montar y segura para dejarla funcionando, con sitio también para los demás agentes de código.

Claude Code en un VPS

Respuesta rápida

Alquila un VPS Linux con al menos 4 GB de RAM, crea un usuario no root y deja SSH solo con claves. Después instala Claude Code con curl -fsSL https://claude.ai/install.sh | bash (sin necesidad de Node.js) e inicia sesión con claude auth login, pegando el código de vuelta por SSH. Mantén las sesiones vivas con tmux, Remote Control o un daemon de sesiones como Maude.

Ejecutar Claude Code en un servidor en lugar de en tu portátil te da tres cosas. Sigue trabajando cuando el portátil está cerrado. Sobrevive a una conexión caída. Y pone al agente en una máquina que puedes tirar, no en la que tiene tus claves SSH y tu perfil del navegador. Esta guía cubre una configuración que lleva unos quince minutos en una máquina Debian o Ubuntu recién creada. Los mismos pasos sirven en Alpine y Fedora con pequeños cambios.

Necesitas un plan de Claude que incluya Claude Code: Pro, Max, Team o Enterprise, o una cuenta de Console. El plan gratuito de claude.ai no lo incluye. Si inicias sesión con tu suscripción, no hay clave de API que gestionar ni consumo facturado aparte.

1. Elige una máquina

Los requisitos del sistema de Anthropic indican 4 GB de RAM o más y un procesador x64 o ARM64. Los sistemas Linux compatibles son Ubuntu 20.04+, Debian 10+ y Alpine 3.19+. En la práctica, la toolchain de tu proyecto pesa más que la propia CLI:

  • 4 GB: el mínimo documentado, suficiente para una sesión en un proyecto modesto.
  • 8 GB: si compilas algo de cierto tamaño (un bundler, una batería de tests, un contenedor o dos) o ejecutas varias sesiones a la vez.
  • 16 GB: si ejecutas varios agentes en paralelo, o una base de datos a su lado.

Hetzner, DigitalOcean, Scaleway, OVH, Vultr y otros funcionan, y también un equipo viejo debajo de tu mesa. Elige una región cercana si alguna vez vas a escribir en una terminal en él. Las instancias ARM suelen ser las más baratas por gigabyte y Claude Code funciona en ellas de forma nativa. Nuestra guía del mejor VPS para agentes de código compara proveedores y tamaños.

2. Crea un usuario no root

Muchas imágenes de VPS te conectan como root. No ejecutes el agente como root: convierte cualquier error en uno que afecta a todo el sistema. Además, Claude Code se niega a arrancar en modo bypass-permissions como root, así que tarde o temprano necesitarás un usuario normal. En Debian o Ubuntu:

adduser dev
usermod -aG sudo dev
rsync --archive --chown=dev:dev ~/.ssh /home/dev

En Fedora, el grupo de administración es wheel en lugar de sudo. En Alpine, instala primero sudo o doas. La última línea copia la clave con la que ya has iniciado sesión, para que puedas volver a conectarte como dev antes de cerrar nada. Pruébalo desde una segunda terminal antes de cerrar la primera. Quedarte fuera de un VPS recién creado es un rito de iniciación que mejor saltarse.

3. Claves SSH y bastionado

Si todavía entras con contraseña, cambia primero a una clave. Genera una en tu ordenador con ssh-keygen -t ed25519 y súbela con ssh-copy-id dev@your-server. Cuando el acceso con clave funcione, edita /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

Después reinicia SSH: sudo systemctl restart ssh en Debian y Ubuntu. En Fedora el servicio se llama sshd, así que ejecuta sudo systemctl restart sshd. Para ir más allá, añade fail2ban y un firewall que solo permita SSH. Si la máquina no necesita estar en Internet en absoluto, ponla en una red de Tailscale. Tu móvil se une a la misma red y llega a ella directamente.

Desde el móvil: las apps de SSH pueden generar una clave en el dispositivo y mostrarte la parte pública para pegarla en ~/.ssh/authorized_keys. Maude lo hace por ti: su botón «Configurar acceso con clave» crea una clave a través de la conexión con la que ya has iniciado sesión. Instala la parte pública, prueba la nueva clave y guarda la parte privada solo en el llavero del móvil.

4. Instala Claude Code

Anthropic recomienda ahora el instalador nativo, que no necesita Node.js. Ejecútalo con tu usuario normal, no con sudo:

curl -fsSL https://claude.ai/install.sh | bash
claude --version
claude doctor

Coloca el lanzador en ~/.local/bin/claude y se actualiza solo en segundo plano. claude doctor comprueba la instalación y tu configuración sin iniciar una sesión. Algunas alternativas, todas sacadas de la documentación de instalación:

  • Repositorios firmados de apt, dnf y apk, si prefieres que lo gestione el gestor de paquetes del sistema. No se actualizan solos; se actualizan con el resto del sistema.
  • npm sigue funcionando (npm install -g @anthropic-ai/claude-code, Node.js 22 o posterior). Instala el mismo binario nativo. Anthropic desaconseja sudo npm install -g.
  • Alpine necesita bash, curl, libgcc, libstdc++ y ripgrep, además de USE_BUILTIN_RIPGREP=0 en tu configuración.

Si una guía más antigua te decía que instalaras Node primero, ya puedes saltarte ese paso.

5. Inicia sesión sin navegador

Ejecuta claude (o claude auth login) y sigue las indicaciones. Un VPS no tiene navegador, así que abrirás la URL de inicio de sesión en cualquier otro dispositivo. Claude Code te deja pulsar c para copiarla. Inicia sesión allí. Cuando el navegador no puede llegar al callback local de Claude Code, algo normal por SSH, muestra un código en su lugar. Pégalo en la línea Paste code here if prompted y el inicio de sesión se completa en el servidor.

La credencial se guarda en ~/.claude/.credentials.json con modo 0600. Trata la máquina en consecuencia: cualquiera con una shell como ese usuario puede usar tu suscripción de Claude. Para scripts y CI también existe claude setup-token, que imprime un token de un año que configuras como CLAUDE_CODE_OAUTH_TOKEN. Según la documentación de autenticación, ese token solo puede hacer peticiones al modelo y no puede iniciar sesiones de Remote Control.

6. Mantenlo vivo

Todo lo que inicias en primer plano en una sesión SSH muere con esa conexión. La solución habitual es tmux:

sudo apt install tmux
tmux new -s work
# start claude, then detach with Ctrl-B then D
tmux attach -t work

Puedes desconectarte, perder la cobertura, volver a conectarte horas después y reengancharte, y la sesión sigue intacta. Eso sí, tmux no sobrevive a un reinicio. Después de uno, claude --continue retoma la conversación más reciente de ese directorio. Nuestra guía sobre mantener Claude Code en marcha con el portátil cerrado cubre las demás opciones, incluidos systemd y los daemons de sesiones.

7. La misma máquina, más agentes

Un servidor que ejecuta Claude Code puede ejecutar los demás agentes de código a su lado. Cada uno se instala en tu directorio personal y mantiene su propio inicio de sesión, así que no se estorban. Deja RAM libre para cada uno que funcione a la vez.

AgenteInstalaciónInicio de sesión sin navegador
Codex (OpenAI)npm install -g @openai/codexcodex login --device-auth (activa antes el inicio de sesión con código de dispositivo en los ajustes de seguridad de ChatGPT) o una clave de API
OpenCodecurl -fsSL https://opencode.ai/install | bash/connect en la TUI y después pega la clave de un proveedor
Grok Build (xAI)curl -fsSL https://x.ai/cli/install.sh | bashInicio de sesión en el navegador al primer arranque, o XAI_API_KEY
Antigravity CLI (Google, agy)curl -fsSL https://antigravity.google/cli/install.sh | bashPor SSH imprime una URL y pegas el código de vuelta, o configura GEMINI_API_KEY

Fuentes: autenticación de Codex, documentación de OpenCode, documentación de Grok Build, instalación de Antigravity CLI, consultadas en octubre de 2026. Codex y Antigravity tienen sus propias guías: Codex CLI en un VPS y Antigravity CLI en un servidor. Gemini CLI ya no es una opción para cuentas personales de Google, y Antigravity CLI es su sustituto por parte de Google.

8. Accede desde el móvil

Hay tres formas de hacerlo, de la más manual a la que menos:

Una app de SSH y tmux. Termius, Blink o cualquier otro cliente, conectado a tu sesión de tmux. Es gratis y completo, y manejas una terminal a pantalla completa con un teclado táctil. Así se compara.

Remote Control. Inicia claude remote-control dentro de tmux y abre la sesión desde la pestaña Code de la app de Claude. Está incluido en Pro, Max, Team y Enterprise. La documentación de Anthropic sugiere tmux o screen justo para este caso. Solo funciona con Claude, y las solicitudes de permiso de la sesión llegan al móvil para que las respondas. La app no puede pasar la sesión a Auto ni a Bypass permissions.

Maude. Maude hace por ti los pasos 4 y 6, y el paso 5 pasa a tu móvil. Añades el servidor por su dirección, pegando un comando ssh … o escaneando un código QR generado con curl -fsSL https://maude.pilotdev.fr/setup | sh. Si has iniciado sesión como root, un botón crea por ti el usuario no root del paso 2. Después Maude despliega su propio daemon por SSH e instala cada agente en una versión que hemos probado y fijado. Inicias sesión en Claude, Codex o cualquiera de los demás desde el móvil. Las sesiones siguen en marcha en el servidor con la app cerrada, y el servidor se conecta por su cuenta al relay de Maude, así que funciona detrás de NAT sin abrir ningún puerto.

9. Decide los permisos

Ahora viene la pregunta interesante: ¿cuánto le dejas hacer sin supervisión? Un servidor que puedes reconstruir es el sitio adecuado para relajar los permisos, siempre que de verdad lo hayas tratado como desechable. El modo auto de Claude Code, en el que un clasificador aprueba las acciones seguras, cubre buena parte del hueco. El bypass completo tiene sus propias reglas, incluida la restricción de root del paso 2. Tienen su propia página: ejecutar Claude Code con permisos completos, de forma segura.

Regla general

Configura la máquina de forma que perderla sea una molestia y no algo grave. Haz push de tu trabajo a un remoto a menudo, no guardes en ella secretos que no existan en otro sitio y da por hecho que puede que la reconstruyas. Todas las decisiones anteriores se vuelven más fáciles cuando esto se cumple.

Manéjalo desde el móvil

Con el servidor en marcha, Claude Code en el móvil explica cómo lo maneja Maude. Si Claude no es tu único agente, empieza por la vista general de agentes.

Preguntas frecuentes

¿Cuánta RAM necesita Claude Code?
Anthropic indica 4 GB o más como requisito. Eso cubre una sesión en un proyecto modesto. Las compilaciones, las baterías de tests, los contenedores, las bases de datos y las sesiones en paralelo son lo que te lleva a 8 GB o más, así que dimensiona para tu proyecto y no para la CLI.
¿Puedo iniciar sesión en Claude Code en un servidor sin navegador?
Sí. Ejecuta claude o claude auth login, abre la URL que te da en cualquier dispositivo e inicia sesión. Por SSH, el navegador suele mostrar un código en lugar de redirigir; pégalo en la terminal cuando te lo pida. Para scripts no interactivos, claude setup-token genera un token de larga duración, pero no puede iniciar sesiones de Remote Control.
¿Debo ejecutarlo como root?
No. Crea un usuario normal con sudo. Root convierte cada error en uno que afecta a todo el sistema, y Claude Code se niega a arrancar en modo bypass-permissions como root o con sudo en Linux y macOS, así que de todos modos te quedarías sin ejecuciones desatendidas.
¿Pueden varios agentes compartir un VPS?
Sí. Claude Code, Codex, OpenCode, Grok Build y Antigravity CLI se instalan por usuario y mantienen inicios de sesión separados, así que conviven sin conflictos. Dimensiona la RAM según cuántos funcionen a la vez, y dale a cada proyecto su propio directorio o git worktree para que dos agentes no editen la misma copia de trabajo.
¿Sigo necesitando Node.js?
No para Claude Code. El instalador nativo y los paquetes de apt, dnf y apk no lo necesitan. El paquete de npm sigue existiendo y requiere Node.js 22 o posterior. La vía principal de instalación de Codex es npm, así que necesitarás Node si lo añades.

Qué ha cambiado

  • — La instalación pasa al instalador nativo de Anthropic (Node.js ya no es necesario); recomendaciones de RAM alineadas con el mínimo documentado de 4 GB; añadidos el flujo de inicio de sesión sin navegador pegando el código y setup-token; nueva sección sobre ejecutar Codex, OpenCode, Grok Build y Antigravity en la misma máquina.
  • — Primera publicación.

¿Servidor listo?

Indícaselo a Maude y hará el resto: daemon, agentes y actualizaciones. iOS, iPadOS y Android.

Download Maude on the App Store Get Maude on Google Play