Instalar n8n en un VPS seguro sin escribir comandos

Si vas a usar n8n en serio, tarde o temprano lo querrás en tu propio servidor: sin límite de ejecuciones, con tus datos en casa y por unos pocos euros al mes. El problema es que un VPS recién contratado está abierto a todo internet, y a los robots que prueban contraseñas les da igual que tú todavía no sepas Linux.

Este es el primer capítulo de n8n desde cero, nuestra serie gratuita en YouTube. Aquí tienes el vídeo y, debajo, el resumen paso a paso para seguirlo aunque no le des al play, con una lista de comprobación descargable para revisar tu servidor al terminar.

📌 En resumen

Partes de un VPS con Ubuntu 24.04 recién instalado y una skill de Claude Code hace el trabajo contigo en unos veinte minutos: entrada con llave SSH, tu usuario con sudo, cortafuegos con fail2ban, parches automáticos, EasyPanel, Tailscale como puerta de emergencia, el puerto 3000 cerrado de verdad y SSH sin root ni contraseñas. Si quieres, al final te deja n8n con PostgreSQL y pgvector, pgAdmin y Uptime Kuma. Tú solo escribes tus contraseñas, en tu terminal y nunca en el chat.

Por qué blindar el servidor antes de instalar n8n

Nuestro propio servidor recibió 1.399 intentos de entrada en un solo día. No era un ataque contra nosotros: son robots que recorren internet probando usuarios como root, admin, ubuntu o postgres con contraseñas comunes. Un VPS que acepta contraseñas y deja entrar a root acaba cayendo, solo es cuestión de tiempo.

Lo que hay dentro tampoco es poca cosa. n8n guarda las credenciales de todo lo que conectas (tu Gmail, tu base de datos, tus claves de OpenAI), así que quien entra en el servidor entra en todo lo demás. Por eso la serie empieza aquí: primero el servidor seguro y después n8n.

Qué necesitas antes de empezar

  • Un VPS recién contratado con Ubuntu 24.04 y nada instalado. Nosotros usamos Contabo, pero vale cualquier proveedor.
  • La IP y la contraseña de root, que llegan en el correo de bienvenida del proveedor.
  • La app de escritorio de Claude, con la pestaña Code.
  • Python 3.10 o superior en tu ordenador. Si no sabes si lo tienes, Claude lo comprueba por ti.
  • Un gestor de contraseñas, porque vas a crear unas cuantas y ninguna debería acabar en un papel.

No hace falta saber Linux. Calcula unos veinte minutos de reloj, y buena parte de ese tiempo es esperar a que termine cada instalación.

Las tres reglas que te protegen

La skill mi-servidor sigue tres reglas, y conviene tenerlas claras porque son las que evitan los sustos:

  1. Las contraseñas las escribes tú, en tu terminal. Claude no te las pide en el chat ni las guarda en ningún sitio.
  2. Primero se prueba la puerta nueva y después se cierra la vieja. Así nunca te quedas fuera de tu propio servidor.
  3. Si un resultado no es el esperado, Claude para y te lo explica en vez de improvisar.

El proceso, paso a paso

Instalas la skill (es un zip que se descomprime en tu carpeta de skills de Claude), abres una sesión nueva y le escribes con tus palabras algo como «he contratado un VPS con Ubuntu 24.04 y quiero dejarlo seguro». Claude te pregunta la IP, el nombre que quieres para tu usuario (en minúsculas y sin acentos, por ejemplo maria) y si el servidor está recién instalado. A partir de ahí van once pasos.

1. El alta

Claude guarda los datos del servidor en una carpeta oculta de tu usuario, .mi-servidor, y nada más. Antes de ejecutar cada orden en tu ordenador te enseña una tarjeta de permiso: léela y pulsa Permitir.

2. La llave SSH

Es el paso en el que más escribes tú. En Windows, la primera línea va en una PowerShell abierta como administrador (solo una vez, para encender el agente de SSH) y el resto en el panel Terminal de Claude. Si no tienes llave, se crea una con una frase de paso que guardas en tu gestor. La última línea sube la llave al servidor: te pregunta si confías en él (escribe yes) y te pide la contraseña de root, que no se ve al escribirla, ni siquiera con puntos. Después Claude prueba la conexión y tiene que salir «entra».

Si sale «connection timed out», revisa la IP o mira en el panel del proveedor que el servidor esté encendido.

3. El servidor al día

Claude actualiza el sistema entero (en nuestra prueba tardó unos cuarenta segundos) y, si hace falta reiniciar, reinicia y espera a que el servidor vuelva.

4. Tu usuario con sudo

Se crea tu usuario dentro del grupo sudo, el de los administradores. Su contraseña la pones tú con passwd en el panel Terminal. La comprobación es sudo whoami, que tiene que contestar root: si no lo hace, no se sigue, porque cerrar root más adelante te dejaría fuera.

5. Cortafuegos, fail2ban y parches

El cortafuegos (UFW) queda activo con tres puertas: SSH, el 80 y el 443. fail2ban vigila SSH y echa a quien falla la contraseña una y otra vez, mientras las actualizaciones de seguridad se instalan solas.

6. EasyPanel

Se instala en un par de minutos. En cuanto acabe, abre http://TU_IP:3000 en el navegador y crea tu cuenta en ese mismo momento, con una contraseña larga que no uses en otro sitio: mientras no exista, cualquiera que llegue a esa dirección podría quedarse con tu panel. Si al crearla te sale «algo salió mal» con el traductor de Chrome activado, la cuenta sí se ha creado; elige «Mostrar original» en el traductor y recarga.

7. Tailscale, tu puerta de emergencia

Tailscale crea una red privada entre tu ordenador y el servidor, con direcciones que empiezan por 100. Lo instalas en los dos, entras con tu cuenta de Google, Microsoft o GitHub y Claude comprueba tres cosas: que tu ordenador ve al servidor, que tu usuario entra por la red privada y que el panel abre por ella. Sin las tres en verde no se cierra nada.

Cuando grabamos el vídeo, Tailscale acababa de confirmar fallos graves en Tailscale SSH, un servidor SSH propio que trae y que se activa por separado. La skill lo deja apagado, porque entras por el SSH de siempre, y activa las actualizaciones automáticas de Tailscale para que los parches lleguen solos.

8. La trampa del puerto 3000

Es el fallo que pilla a casi todo el mundo. El cortafuegos no tiene abierto el 3000 y, aun así, el panel contesta desde internet, porque Docker abre sus puertos por delante de UFW. Claude lo cierra de verdad con una regla en la cadena DOCKER-USER y un servicio que la vuelve a poner en cada arranque. Desde fuera queda cerrado y por Tailscale sigue abierto; en nuestra prueba reiniciamos el servidor y siguió igual.

9. Punto de control

Claude repasa el servidor entero. Todo tiene que salir en OK menos tres líneas de SSH (root todavía entra, se aceptan contraseñas y falta el archivo de blindaje), que se arreglan en el paso siguiente. Si ves los puertos 2377 y 7946 en la lista, son de Docker Swarm, que EasyPanel usa por dentro, y el cortafuegos no los deja pasar.

10. Cerrar SSH, siempre el último

Antes de cerrar, Claude repasa que tu usuario entra con su llave, que sudo contestó root y que también entras por Tailscale. Después eliges entre SSH normal o solo por Tailscale; con la segunda opción, los robots de internet ni siquiera encuentran la puerta. El resultado tiene que decir «root no» y «contraseñas no».

11. n8n y sus compañeros (opcional)

Con un token de la API de EasyPanel (Ajustes > Usuarios, o Settings > Users si lo tienes en inglés, en la fila de tu usuario), Claude monta el proyecto de n8n: PostgreSQL con pgvector, n8n, pgAdmin y Uptime Kuma, cada uno con su dirección. Las contraseñas generadas quedan en un archivo de tu ordenador: pásalas a tu gestor y borra el archivo. La que nunca puedes perder es la clave de cifrado de n8n, porque sin ella las credenciales que guardes no se pueden leer. Crea ya tus cuentas en n8n y en Kuma, por la misma razón que la de EasyPanel.

Cómo queda el servidor

QuéCómo queda
Entrada al servidorssh tu_usuario@IP, con llave y sin contraseña
rootNo puede entrar por SSH
Puertos abiertos a internetSSH, 80 y 443 (sin SSH si eliges solo Tailscale)
Panel de EasyPanelSolo por Tailscale
Intentos de contraseñafail2ban bloquea a quien insiste
Parches de seguridadAutomáticos, también los de Tailscale
Si te quedas fueraLa consola web del panel de tu proveedor, que entra sin SSH

La skill también sirve después. Programa las copias de seguridad en un destino externo (una copia que se queda en el mismo servidor no te salva de nada), actualiza n8n con una copia previa y vuelve sola a la versión anterior si la nueva no arranca. Una vez al mes puedes pedirle una revisión, que compara el servidor con una foto de su estado bueno: en nuestra prueba cazó un puerto nuevo y un programa falso con nombre de minero.

Los capítulos del vídeo

MinutoQué se ve
0:24Por qué blindarlo
1:27Antes de empezar
2:25Descargar e instalar la skill en Claude
4:15Paso 2: la llave SSH
6:03Paso 5: cortafuegos y fail2ban
6:30Paso 6: EasyPanel
7:23Paso 7: Tailscale y sus fallos de seguridad
8:38Paso 8: la trampa del puerto 3000
9:42Paso 10: cerrar SSH
10:14Paso 11: n8n, PostgreSQL, pgAdmin y Kuma
11:36Lo que la skill hace después

Descarga la lista de comprobación del servidor

Un PDF de dos páginas con lo que tienes que tener a mano antes de empezar, las comprobaciones de cada paso y cómo saber que tu VPS ha quedado blindado de verdad, puerto 3000 incluido. Sirve también si montas el servidor por tu cuenta.

Recibirás un correo para confirmar tu dirección y, al confirmarla, otro con la lista adjunta. Si ya confirmaste en otra descarga de la serie, te llega directamente.

Preguntas frecuentes

¿Necesito saber Linux para instalar n8n en un VPS?
Con la skill, no. Claude ejecuta las órdenes y te explica cada resultado; tú solo escribes tus contraseñas y pulsas Permitir en cada tarjeta. Entender lo que pasa sí ayuda, y por eso el vídeo y este resumen cuentan el porqué de cada paso.

¿Qué VPS contrato?
Cualquiera que te entregue Ubuntu 24.04 limpio, con su IP y la contraseña de root. Nosotros usamos Contabo. Lo importante es que no tenga nada instalado, porque la skill parte de cero.

¿Dónde consigo la skill mi-servidor?
En nacaIA Academy: viene en el curso de n8n, con todo el módulo 0 explicado paso a paso, y en la Comunidad como masterclass.

¿Para qué quiero Tailscale si ya tengo cortafuegos?
Es tu puerta de emergencia y el único camino al panel. Con Tailscale puedes cerrar el SSH público y dejar EasyPanel fuera de internet sin perder el acceso, y si un día algo falla en el SSH normal todavía entras por la red privada.

¿Qué hago si me quedo fuera del servidor?
Entra por la consola web del panel de tu proveedor, que no depende de SSH. Por eso la regla de la skill es probar siempre la puerta nueva antes de cerrar la vieja: está pensada para que no llegues a necesitarla.

Sigue la serie: todos los capítulos de n8n desde cero · capítulo 2: n8n por dentro →

El módulo 0 completo, con la skill

La skill mi-servidor y el módulo 0 entero, lección a lección, están en el curso de n8n de nacaIA Academy, junto con el resto del temario: de los primeros nodos a los agentes de IA y n8n en producción.

Ver el curso de n8n
JB

Jorge Benítez

Fundador de nacaIA · Especialista en automatizaciones con n8n y desarrollo de software

Ayudo a empresas a automatizar procesos con n8n, IA y desarrollo a medida. Más sobre mí →