Inicio » Cómo solucionar el error Connection Timeout en conexiones SSH por reglas de firewall
Sistemas y Servidores

Cómo solucionar el error Connection Timeout en conexiones SSH por reglas de firewall

✨ Respuesta Rápida

El error de tiempo de espera agotado en el puerto 22 (ssh: connect to host ... port 22: Connection timed out) ocurre cuando el cortafuegos del servidor destino (generalmente IPTables o UFW en Ubuntu/Debian) bloquea o descarta silenciosamente los paquetes de red entrantes en el puerto 22, impidiendo la autenticación del cliente.

El Diagnóstico Rápido

Causa
Reglas de firewall iptables o UFW bloqueando el puerto SSH (22)
Solución
Permitir el puerto 22 en el firewall: sudo ufw allow 22/tcp
Causa
Servidor SSH no está escuchando en la dirección IP esperada
Solución
Verificar el estado del demonio SSH con sudo systemctl status sshd

El error de tiempo de espera agotado en el puerto 22 (ssh: connect to host ... port 22: Connection timed out) ocurre cuando el cortafuegos del servidor destino (generalmente IPTables o UFW en Ubuntu/Debian) bloquea o descarta silenciosamente los paquetes de red entrantes en el puerto 22, impidiendo la autenticación del cliente.

La Solución Paso a Paso

  1. 1

    Paso 1: Diagnosticar si el puerto SSH está bloqueado o cerrado

    Intenta realizar una comprobación directa de red hacia el puerto del servidor desde tu consola de comandos local para verificar si responde a peticiones TCP:

    BASH
    # Comprobar la respuesta del puerto 22 (SSH) en tu servidor
    nc -zv 192.168.1.100 22
    

    (Si la salida indica "Connection timed out" o no devuelve nada, el puerto está bloqueado en el firewall local o de red).

  2. 2

    Paso 2: Habilitar el tráfico SSH en UFW (Uncomplicated Firewall)

    Si tu servidor utiliza UFW como front-end de firewall, habilita explícitamente el acceso remoto seguro y recarga las directivas del kernel:

    BASH
    # Permitir conexiones entrantes en el puerto de SSH por defecto
    sudo ufw allow 22/tcp
    
    # Habilitar el cortafuegos si estaba inactivo y recargar reglas
    sudo ufw enable && sudo ufw reload
    
  3. 3

    Paso 3: Configurar reglas explícitas en IPTables

    Si trabajas en sistemas sin UFW o necesitas mayor granularidad en IPTables, abre el puerto SSH de forma directa en tu cadena de entrada:

    BASH
    # Aceptar paquetes TCP de entrada para el puerto 22
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
    # Guardar las reglas para que persistan tras reiniciar el servidor
    sudo iptables-save | sudo tee /etc/iptables/rules.v4
    

Consejo de Prevención

Prácticas de seguridad recomendadas:

  • No expongas el puerto SSH predeterminado (22) de forma abierta a cualquier dirección IP de Internet (0.0.0.0/0). Hacer esto saturará tus registros de autenticación con ataques automatizados de fuerza bruta en cuestión de minutos; en su lugar, limita el acceso únicamente al rango de direcciones IP de tu red de trabajo o VPN, o cambia el puerto SSH de escucha a uno no estándar en el archivo /etc/ssh/sshd_config.
Autor • Diseñador Web & Creador de Apps

Rodolfo Castro

Diseñador web, creador de aplicaciones y fundador de SoporteCero. Especialista en desarrollo de productos digitales, interfaz de usuario y arquitectura web. Cada tutorial y solución de SoporteCero es reproducido y verificado en laboratorio técnico para ofrecer guías funcionales y actualizadas.