SSH sin abrir el puerto 22: tabla comparativa y comandos reales

Se puede llegar a un servidor por SSH sin abrir el puerto 22 a internet si los dos extremos están en una malla WireGuard. El servidor escucha solo en su dirección privada 100.64.x.x y el router no redirige nada. Así, los escáneres de internet no encuentran ningún servicio SSH contra el que probar contraseñas o lanzar ataques.

Qué expone un puerto 22 abierto en un servidor accesible desde internet

Un puerto 22 redirigido en el router o abierto en el cortafuegos de un proveedor cloud responde a cualquiera que le envíe un paquete. El demonio SSH tiene que aceptar la conexión TCP, negociar claves y procesar el intento de acceso antes de saber quién hay al otro lado. Eso pone tres cosas delante de todo internet: el propio código del demonio, cualquier cuenta que todavía acepte contraseñas y la constancia de que en esa dirección hay un servidor. Cambiar el puerto a otro número lo esconde de los escaneos rápidos, pero no cambia ninguna de las tres.

Cómo transporta prialo el SSH por WireGuard sin puertos de entrada

En prialo, cada dispositivo tiene su propio par de claves WireGuard y recibe una dirección fija dentro de 100.64.0.0/10, el espacio compartido del RFC 6598. Por eso nunca choca con una LAN 192.168.x.x o 10.x.x.x. El cliente SSH se conecta a esa dirección y los paquetes viajan dentro del túnel. En el camino de datos no hay usuario ni contraseña: solo claves.

En el router no se abre nada. Los dos extremos negocian un camino directo con STUN (UDP 3478 en el plano de control) y perforación de NAT. Cuando eso falla por un CGNAT de operador, un NAT simétrico u otra VPN delante, el tráfico pasa por un relé en TCP 4430 que reenvía paquetes que no puede descifrar. En ambos casos, el servidor solo inicia conexiones salientes.

Con el servidor ya en la malla, sshd puede escuchar únicamente en su dirección 100.64 y la redirección del puerto 22 se puede eliminar. Las claves SSH y el endurecimiento habitual de sshd siguen en su sitio. La malla añade una capa por delante, pero no sustituye la autenticación del servidor.

Puerto 22 abierto frente a SSH por prialo: qué queda expuesto en cada caso

Elemento expuestoPuerto 22 abierto a internetSSH por prialo con el puerto 22 cerrado
Demonio SSHAlcanzable desde cualquier dirección de internetAlcanzable solo desde dispositivos dados de alta en la malla
Prueba de contraseñasPosible contra cualquier cuenta que acepte contraseñasSin camino: el plano de datos solo usa claves WireGuard
Configuración del routerRequiere redirección de puerto o regla de cortafuegosNingún puerto de entrada abierto
Servidor detrás de CGNATInaccesible sin IP públicaCamino directo o relé en TCP 4430
Quién puede conectarseCualquiera que supere el acceso SSHDispositivos aprobados con claves válidas, con registro de auditoría

Dar de alta un servidor Linux en prialo paso a paso

sudo PRIALO_AUTH_KEY='<enrolment key>' prialo install --server=control.example.com:50051 --relay=control.example.com:4430 --tls-pin=sha256:<fingerprint>

Un nodo rechaza el servidor de control que no presente la clave fijada, así que ninguna autoridad de certificación forma parte del modelo de confianza. La aprobación de dispositivos y el registro de auditoría de cada evento administrativo dejan constancia de quién añadió el servidor y cuándo. Para varios clientes, el flujo de trabajo de un MSP está en SSH y RDP a servidores de clientes.

Qué sigue expuesto cuando el plano de control de prialo es autohospedado

Cerrar el puerto 22 en todos los servidores concentra la superficie pública en una sola máquina. El paquete autohospedado ejecuta tres contenedores con Docker Compose: servidor de coordinación, relé y PostgreSQL. Publica gRPC en TCP 50051, STUN en UDP 3478 y el relé en TCP 4430. La API de administración del puerto 8080 nunca se publica en internet y al panel se llega mediante un túnel SSH. Por eso, esa máquina necesita su propio acceso SSH bien protegido. Las claves y la base de datos se quedan en el servidor del cliente, y Sinergia no accede a esa instancia. Los puertos y las copias se detallan en el plano de control autohospedado.

Tráfico de relé y cuota para sesiones SSH en prialo

El SSH por relé consume bastante menos de 1 MB por hora. Una sesión interactiva apenas cuenta frente a los 10 GB mensuales de tráfico por relé del plan Free o los 100 GB por persona del plan Teams (5 EUR por persona al mes, IVA no incluido). El escritorio remoto es otra cosa: de 0,5 a 1 GB por hora. Reenviar una trama cuesta unos 23 ns y no depende de cuántos clientes haya conectados. En un relé propio, PRIALO_MESH_QUOTA_BYTES limita el tráfico de salida por malla y mes. Superado el límite, las tramas se descartan y se cuentan, sin desconectar a nadie.

Lo que prialo aún no permite para SSH desde móviles y Windows

A 17 de octubre de 2026, las apps de Mac e iPhone están en la cola de revisión de Apple y todavía no se pueden descargar. Android está en preparación, y el cliente de Windows es una versión temprana sin instalador ni firma. El cliente de terminal para Linux y macOS y el paquete autohospedado ya funcionan. Un cliente SSH como Termi1 para iPhone y iPad solo podrá llegar a una dirección 100.64 cuando la app de iPhone esté disponible. Los móviles y Windows tampoco aceptan rutas de subred todavía, y solo Linux puede hacer de router.

Preguntas frecuentes

¿Es seguro el SSH por prialo con el puerto 22 cerrado en el router?

El SSH por prialo con el puerto 22 cerrado saca el servidor de los escaneos públicos y de la prueba de contraseñas desde internet. Solo los dispositivos dados de alta con claves WireGuard llegan a su dirección 100.64. La autenticación SSH sigue aplicándose, así que conviene mantener el acceso solo con claves.

¿Funciona el SSH a través de prialo detrás de un CGNAT de operador?

El SSH a través de prialo funciona detrás de un CGNAT de operador. Los nodos intentan primero un camino directo con STUN y perforación de NAT. Si el CGNAT o un NAT simétrico lo impiden, el tráfico pasa por el relé en TCP 4430, que no puede descifrarlo. El servidor no necesita IP pública.

¿Cuánto tráfico de relé consume una sesión SSH en prialo?

Una sesión SSH por relé en prialo consume bastante menos de 1 MB por hora. El plan Free incluye 10 GB de tráfico por relé al mes para hasta 10 dispositivos, y Teams incluye 100 GB por persona al mes. Usado solo para SSH, rara vez se acerca a esos límites.

¿Hay que abrir algún puerto para autohospedar el plano de control de prialo?

Autohospedar el plano de control de prialo exige publicar en ese servidor TCP 50051 para gRPC, UDP 3478 para STUN y TCP 4430 para el relé. La API de administración del puerto 8080 no se publica y al panel se entra por túnel SSH. Los nodos no abren ningún puerto de entrada.

¿Prefieres tu propio servidor? Guía del paquete autoalojado de prialo

← Todas las noticias