# Claude Code en un servidor remoto: guía práctica

URL: https://agentvera.dev/es/blog/claude-code-remote-server/ · Publicado: 2026-10-22

Cómo ejecutar Claude Code en un servidor remoto o VPS: SSH y tmux, dev containers, VMs en la nube, inicio de sesión sin navegador, seguridad y Runner de AgentVera.

**En resumen:**

- Ejecutar Claude Code en un servidor significa instalarlo allí, iniciar sesión una vez y arrancarlo en una sesión que sobreviva a las desconexiones, normalmente tmux por SSH.
- En una máquina sin pantalla puedes abrir el enlace de inicio de sesión en tu propio ordenador, o definir como CLAUDE_CODE_OAUTH_TOKEN un token de un año creado con claude setup-token.
- AgentVera ejecuta agentes en tu servidor con Runner (Pro y Team, solo conexión saliente) o un servidor SSH guardado, y puede aislar agentes locales en Docker.

Para ejecutar Claude Code en un servidor remoto, instálalo en el servidor, inicia sesión una vez y arráncalo dentro de una sesión de terminal que sobreviva a tu desconexión, normalmente tmux por SSH. Esa es toda la idea. El resto es elegir dónde vive el servidor, cómo inicia sesión el agente sin navegador y cuánto de tu mundo puede alcanzar el agente desde allí.

Este artículo explica por qué la gente mueve los agentes a un VPS, compara las configuraciones habituales, cubre el inicio de sesión en una máquina sin pantalla y la seguridad básica, y luego muestra cómo maneja AgentVera los agentes remotos con Runner, agentes por SSH y Docker.

## Por qué ejecutar un agente de programación en un servidor remoto

Un portátil es un mal hogar para ejecuciones largas de agentes. Se suspende, pierde el Wi-Fi y cierras la tapa para irte a casa. Un servidor no.

Razones habituales para sacar los agentes de tu máquina:

- **Tareas largas.** Una migración, un refactor grande o una suite de tests que tarda una hora no debería detenerse porque tu portátil se suspendió.
- **El código ya vive allí.** Algunos proyectos solo compilan en Linux, necesitan una GPU o necesitan una base de datos que solo existe en esa red.
- **Aislamiento.** Un agente en una VM desechable no puede tocar tus archivos personales, tus claves SSH ni tus sesiones del navegador.
- **Acceso desde cualquier sitio.** Empiezas una tarea en tu escritorio y la compruebas desde otro ordenador o desde el móvil.
- **Varios agentes a la vez.** Un servidor con más núcleos y memoria ejecuta más agentes en paralelo que un portátil.

La contrapartida es la configuración y la responsabilidad. Un servidor que controlas es un servidor que tienes que proteger.

## Las opciones de un vistazo

| Configuración | Sobrevive a la desconexión | Aislamiento | Esfuerzo | Ideal para |
| --- | --- | --- | --- | --- |
| SSH + tmux en un VPS | Sí | Máquina aparte | Bajo | La mayoría, uno o dos proyectos |
| Dev container (local o remoto) | Mientras el contenedor funcione | Contenedor | Medio | Entornos reproducibles, equipos |
| VM en la nube por tarea | Sí | VM completa | Medio a alto | Entornos desechables, trabajo arriesgado |
| Agente en un contenedor en tu máquina | No, se detiene con el agente | Contenedor | Bajo | Aislamiento sin servidor |

### SSH y tmux

Es la configuración más sencilla y sirve para cualquier agente CLI. En el servidor:

```bash
npm install -g @anthropic-ai/claude-code
tmux new -s agent
cd ~/projects/my-app
claude
```

Sepárate con `Ctrl-b d` y cierra SSH. El agente sigue trabajando. Más tarde, entra de nuevo por `ssh` y ejecuta `tmux attach -t agent`. Si prefieres screen o zellij, la idea es la misma: la sesión pertenece al servidor, no a tu conexión SSH.

A qué renuncias: no hay árbol de archivos ni vista de diffs, y cambiar entre varios agentes significa hacer malabares con ventanas de tmux.

### Dev containers

Un dev container describe el entorno en un archivo (`devcontainer.json` más un Dockerfile), de modo que todas las máquinas tengan las mismas herramientas. Puedes ejecutarlo en local o en un host Docker remoto. El agente se ejecuta dentro del contenedor y solo ve lo que montes en él.

El inconveniente es que el inicio de sesión del agente también tiene que existir dentro del contenedor, y un contenedor que se reconstruye pierde todo lo que no hayas hecho persistir.

### VMs en la nube

Una VM nueva por tarea da el aislamiento más limpio: si el agente destroza algo, borras la máquina. Cuesta más de configurar, y necesitas una forma de meter el código y sacar el resultado, normalmente una rama de git a la que el agente hace push.

## Iniciar sesión en una máquina sin pantalla

Los agentes de programación suelen iniciar sesión a través de un navegador. Un servidor no tiene, así que necesitas una de estas rutas.

### Claude Code

- **Navegador en tu ordenador.** Ejecuta `claude` en el servidor. Muestra un enlace de inicio de sesión; ábrelo en tu propia máquina. Si el navegador no puede llegar al callback local del servidor, Claude Code muestra un código para pegar en el prompt «Paste code here if prompted» de la terminal.
- **Token de larga duración.** `claude setup-token` crea un token OAuth de un año para una suscripción Pro, Max, Team o Enterprise. No se guarda en ningún sitio por ti: defínelo en el servidor como `CLAUDE_CODE_OAUTH_TOKEN`. Este token solo cubre las peticiones al modelo.
- **Clave de API.** Define `ANTHROPIC_API_KEY` si pagas por uso a través de la API.

En Linux, Claude Code guarda sus credenciales en `~/.claude/.credentials.json` con modo de archivo 0600. En macOS van al llavero, y por SSH recurre a ese archivo si el llavero está bloqueado.

### Codex

- **Código de dispositivo.** `codex login --device-auth` te da un código para introducir en un navegador en otro sitio. Está en beta y hay que habilitarlo en los ajustes de seguridad de ChatGPT (o por el administrador de tu espacio de trabajo).
- **Clave de API.** `printenv OPENAI_API_KEY | codex login --with-api-key`.
- **Alternativas.** Copia `~/.codex/auth.json` desde una máquina donde hayas iniciado sesión, o reenvía el puerto de inicio de sesión con `ssh -L 1455:localhost:1455` e inicia sesión con normalidad.

Elijas la ruta que elijas, un archivo de credenciales en un servidor es tan delicado como una contraseña. Cualquiera que pueda leerlo puede usar tu suscripción.

## Seguridad en el servidor

Un agente en un servidor ejecuta comandos con los derechos del usuario con el que corre. Planifica en consecuencia.

- **Usa un usuario aparte.** No ejecutes agentes como root. Un usuario dedicado con su propia carpeta personal limita lo que puede alcanzar un mal comando.
- **No pongas secretos de producción en la máquina.** Si el agente no necesita la contraseña de la base de datos de producción, no debería estar en un archivo `.env` de ese servidor.
- **Cierra los puertos de entrada.** SSH solo con claves, sin inicio de sesión con contraseña y sin servidores de desarrollo expuestos que se te hayan olvidado.
- **Trabaja en ramas.** Deja que el agente haga push a una rama, no a main. Los worktrees de Git permiten que varios agentes trabajen en el mismo repositorio sin pisarse.
- **Cuidado con los tokens de larga duración.** Un token de un año en un servidor compartido es un riesgo de un año. Rótalo si la máquina es compartida o se retira.
- **Espera que los inicios de sesión caduquen.** En ejecuciones sin supervisión, comprueba que la sesión sigue iniciada antes de dejarla sola por la noche.

## Cómo ejecuta AgentVera los agentes en un servidor

[AgentVera](/es/ "AgentVera") es una app de escritorio que ejecuta CLI de agentes de programación lado a lado en terminales reales con tus propios inicios de sesión. Te ofrece tres formas de sacar los agentes de tu máquina.

### Runner: tu propio servidor, accesible desde cualquier sitio

[Runner](/es/runner/ "AgentVera Runner") es un pequeño servicio que instalas en tu propio servidor Linux o macOS, o en un Mac. Ejecuta Claude Code, Codex, Gemini CLI, opencode y sesiones de terminal normales en terminales reales. Las sesiones siguen funcionando cuando te desconectas, y te reconectas desde el navegador o la app de escritorio.

La configuración, en resumen:

1. Abre app.agentvera.dev/runners y añade un runner. Obtienes un código de emparejamiento de 8 caracteres válido durante 10 minutos.
2. En el servidor, ejecuta el comando de instalación con ese código:

```bash
curl -fsSL https://app.agentvera.dev/runner/install.sh | sh -s -- --pair KOD
```

3. Instala la CLI en el servidor e inicia sesión, por ejemplo `npm install -g @anthropic-ai/claude-code` y luego `claude login`.

Runner necesita Node.js 20 o superior y curl o wget. En Linux instala un servicio de usuario de systemd; ejecuta `sudo loginctl enable-linger $USER` una vez para que siga funcionando cuando cierres sesión. Para mantener los agentes dentro de ciertas carpetas, ejecuta `agentvera-runner roots ~/projects`. Sin roots, los agentes trabajan en tu carpeta personal.

En cuanto a seguridad, Runner solo hace una conexión saliente a app.agentvera.dev por el puerto 443, así que no abres ningún puerto en el servidor. El tráfico se retransmite por TLS, y el servidor de AgentVera no lo interpreta, registra ni almacena. Tu código se queda en tu servidor, y solo los miembros activos de tu organización pueden conectarse. La página de Runner también muestra la CPU, la memoria y el disco del servidor.

Runner está en los planes Pro y Team.

### Agentes por SSH: sin servicio adicional

Si ya tienes un servidor en la lista SSH de AgentVera, no necesitas Runner. En el diálogo de nuevo agente, pon **Runs on** en ese servidor guardado en lugar de **This computer**, y elige la **Folder on the server**. El agente se ejecuta entonces en el servidor con el inicio de sesión de CLI del propio servidor. Como indica el diálogo, la CLI debe estar instalada y con sesión iniciada en el servidor, o puedes iniciar sesión desde la terminal del agente en el primer arranque. Tus cuentas locales, MCP y ajustes del navegador no se usan en el servidor.

Si tmux está instalado en el servidor, AgentVera arranca el agente dentro de una sesión de tmux. Esa sesión sobrevive a la conexión SSH, y la siguiente conexión, desde cualquier ordenador, se vuelve a enganchar a ella. Cerrar la app no la detiene; detener o cerrar el agente sí.

La función SSH en sí es gratuita: servidores guardados, una bóveda cifrada para credenciales, SFTP y ProxyJump. Los detalles están en la página de [SSH y SFTP](/es/features/ssh-and-sftp/ "SSH y SFTP").

### Agentes en un contenedor Docker: aislamiento sin servidor

A veces no necesitas un servidor, necesitas un muro. Para un agente local de Claude Code o Codex, activa **Run in a Docker container** en el diálogo del agente. El agente solo ve la carpeta del proyecto; los demás archivos, programas y claves SSH de tu ordenador quedan fuera de su alcance. Puedes fijar límites de CPU y memoria.

AgentVera construye su propia imagen (Node 22, git, ripgrep, Claude Code y Codex) en el primer uso, o puedes usar tu propia imagen siempre que tenga el comando `claude` o `codex`. El contenedor se elimina cuando el agente se detiene. Necesita Docker Desktop, Colima u OrbStack. Es gratuito; consulta [agentes en Docker](/es/features/agents-in-docker/ "Agentes en Docker").

### Cuál elegir

| Lo que quieres | Usa |
| --- | --- |
| Agentes que funcionen durante horas en tu servidor, abiertos desde el navegador | Runner (Pro y Team) |
| Un agente en un servidor al que ya accedes por SSH | Runs on → servidor SSH guardado |
| Aislamiento en tu propia máquina | Run in a Docker container |
| Un vistazo rápido a un agente en marcha desde el móvil | La [app móvil](/es/blog/claude-code-mobile-app/ "App móvil de Claude Code") o [Telegram](/es/blog/control-claude-code-from-telegram/ "Controla Claude Code desde Telegram") |

## Errores comunes

- Arrancar el agente directamente en la sesión SSH y perderlo cuando se cae la conexión.
- Ejecutar el agente como root «solo por ahora».
- Copiar al servidor un `.env` entero con claves de producción.
- Dejar un token de larga duración en una máquina compartida y olvidarse de él.
- Dejar que varios agentes trabajen en la misma carpeta en lugar de en ramas o worktrees separados.

## Lista de comprobación

- [ ] La CLI está instalada y con sesión iniciada en el servidor.
- [ ] El agente se ejecuta dentro de tmux, Runner u otra sesión que sobreviva a una desconexión.
- [ ] Se ejecuta como usuario no root, limitado a las carpetas del proyecto.
- [ ] No hay secretos de producción en el servidor salvo que la tarea los necesite.
- [ ] Los puertos de entrada están cerrados salvo SSH con claves.
- [ ] Cada agente trabaja en su propia rama o worktree.

## Para terminar

Ejecutar Claude Code en un servidor remoto se reduce a tres cosas: una sesión que sobreviva a tu conexión, un inicio de sesión que funcione sin navegador y un servidor que solo tenga lo que el agente necesita. SSH y tmux te llevan ahí en cinco minutos. Si quieres iniciar agentes desde cualquier sitio, ver sus archivos y diffs y mantener varios en marcha a la vez, Runner y los agentes por SSH de AgentVera hacen el mismo trabajo con menos malabares.

Para seguir leyendo:

- [Git worktree para agentes en paralelo](/es/blog/git-worktree-parallel-agents/ "Git worktree para agentes en paralelo")
- [Crear un bot de trading de criptomonedas con IA](/es/blog/build-crypto-trading-bot-with-ai/ "Crear un bot de trading de criptomonedas con IA")
- [Ejecutar varios agentes de Claude Code](/es/blog/run-multiple-claude-code-agents/ "Ejecutar varios agentes de Claude Code")
- [Docker](/es/features/docker/ "Docker")
- [¿Qué es un agente de programación?](/es/glossary/coding-agent/ "Agente de programación")

Para probar AgentVera, empieza en la [página de inicio](/es/ "AgentVera").

## Preguntas frecuentes

**¿Puedo ejecutar Claude Code en un servidor remoto?** Sí. Instálalo en el servidor con npm, inicia sesión una vez y arráncalo dentro de tmux por SSH. La sesión sigue en marcha cuando te desconectas, y te vuelves a conectar más tarde desde cualquier ordenador.

**¿Cómo inicio sesión en Claude Code en un servidor sin navegador?** Ejecuta claude en el servidor y abre el enlace de inicio de sesión en tu propio ordenador. Si el navegador no puede llegar al servidor, pega en la terminal el código que muestra. Para máquinas sin supervisión, claude setup-token crea un token de larga duración que defines como CLAUDE_CODE_OAUTH_TOKEN.

**¿Es seguro ejecutar un agente de programación en un VPS?** Puede serlo, si el servidor solo tiene lo que el agente necesita. Usa un usuario aparte, no pongas secretos de producción en la máquina, cierra los puertos de entrada que no necesites y trata archivos de credenciales como ~/.claude/.credentials.json y ~/.codex/auth.json como contraseñas.

**¿Qué es AgentVera Runner?** Runner es un pequeño servicio que instalas en tu propio servidor Linux o macOS. Ejecuta Claude Code, Codex, Gemini CLI, opencode y terminales normales en terminales reales que siguen funcionando cuando te desconectas. Solo se conecta hacia fuera, así que no se abre ningún puerto. Está en los planes Pro y Team.

**¿Puede AgentVera ejecutar un agente en mi servidor sin Runner?** Sí. En el diálogo del agente, pon «Runs on» en un servidor SSH guardado y elige una carpeta del servidor. El agente usa el inicio de sesión de CLI del propio servidor. Si tmux está instalado allí, la sesión sobrevive a una conexión caída.

---

**Sobre AgentVera.** AgentVera es una app de escritorio para macOS, Windows y Linux, desarrollada por Solviera Teknoloji. Ejecuta 18 agentes de programación con IA (Claude Code, Codex, Gemini CLI, Copilot, Cursor, Antigravity, opencode, Hermes, Qwen Code, Kimi Code, Kiro, Amp, Droid, Goose, Vibe, Crush, Aider, Cline) en paralelo, por proyecto, en terminales reales con las instalaciones y sesiones de CLI del propio usuario. El plan gratuito tiene agentes ilimitados. Descargar: https://agentvera.dev/es/download/ · Precios: https://agentvera.dev/es/pricing/
