🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo cambiar el puerto SSH en cPanel (WHM) para mayor seguridad

Actualizado el 9 de abril de 2026

¿Por qué cambiar el puerto SSH en cPanel (WHM)?

El protocolo SSH (Secure Shell) es la puerta de entrada principal para administrar tu servidor de forma remota. Por defecto, este servicio escucha en el puerto 22. El problema es que este puerto es universalmente conocido, y los atacantes automatizados (bots) lo escanean constantemente en busca de servidores vulnerables. Estos bots lanzan ataques de fuerza bruta probando miles de combinaciones de usuario y contraseña por minuto.

Cambiar el puerto SSH en cPanel (WHM) no es una solución mágica contra hackers avanzados, pero sí es una capa de seguridad extremadamente efectiva contra el ruido de fondo de Internet. Al mover el servicio a un puerto no estándar, reduces drásticamente el número de intentos de acceso no autorizado, ya que los escáneres automáticos rara vez buscan puertos altos.

Este cambio es una de las primeras recomendaciones de seguridad que hacemos a nuestros clientes. Es un proceso sencillo, reversible y que no afecta el rendimiento de tu sitio web. En esta guía, te explicaré paso a paso cómo hacerlo, qué precauciones tomar y cómo solucionar los problemas más comunes.


## Requisitos previos antes de cambiar el puerto SSH

Antes de tocar cualquier configuración, es fundamental que verifiques ciertos aspectos para evitar quedarte fuera de tu propio servidor.

### Acceso administrativo a WHM

Necesitas tener acceso a cPanel WHM (WebHost Manager) con permisos de root o de un usuario con privilegios de "reseller" que pueda modificar la configuración del servicio SSH. Si solo tienes acceso a cPanel (el panel de tu cuenta), no podrás realizar este cambio, ya que es una configuración a nivel de servidor.

### Conexión de red y firewall

Asegúrate de que tu IP actual no esté bloqueada por el firewall del servidor. Si tienes un firewall como CSF (ConfigServer Security & Firewall), deberás abrir el nuevo puerto antes de cambiar la configuración de SSH. Te recomiendo tener una segunda sesión SSH abierta mientras haces el cambio, como red de seguridad.

### Plan de contingencia

Ten a mano las credenciales de acceso al panel de control de tu proveedor de hosting (como Vultr, DigitalOcean o AWS) para poder acceder a la consola VNC o al modo de recuperación si algo sale mal. Esto te permitirá revertir el cambio incluso si pierdes la conexión SSH.


## Paso a paso: Cómo cambiar el puerto SSH desde WHM

Este es el método más directo y seguro, ya que WHM se encarga de actualizar la configuración y reiniciar el servicio correctamente.

### Paso 1: Accede a WHM

Inicia sesión en tu panel de WHM. La URL típica es https://tu-dominio.com:2087 o https://tu-ip:2087. Utiliza tus credenciales de root o de administrador.

### Paso 2: Busca la configuración de SSH

En la barra de búsqueda de la parte superior izquierda, escribe "SSH" y selecciona la opción "SSH Server Configuration" o "Configuración del servidor SSH". Esta herramienta te permite editar el archivo sshd_config de forma gráfica.

### Paso 3: Modifica el puerto

En la sección "Listen Port" (Puerto de escucha), verás el valor 22. Cámbialo al puerto que desees. Te recomiendo elegir un número entre 1024 y 65535 para evitar conflictos con servicios estándar. Algunos puertos populares son el 2200, 2222, 9922 o 2022. Evita puertos comunes como el 80 (HTTP) o 443 (HTTPS).

### Paso 4: Guarda y reinicia el servicio

Haz clic en "Save" (Guardar). WHM te preguntará si deseas reiniciar el servicio SSH. Confirma la acción. El servicio se reiniciará y comenzará a escuchar en el nuevo puerto. Importante: No cierres tu sesión SSH actual todavía.

### Paso 5: Abre el nuevo puerto en el firewall

Si tienes CSF o iptables, debes permitir el tráfico en el nuevo puerto. Ve a "ConfigServer Security & Firewall" en WHM, luego a "Firewall Configuration" y añade el nuevo puerto a la lista "TCP_IN". Guarda los cambios y reinicia el firewall (o ejecuta csf -r en la terminal).

### Paso 6: Prueba la nueva conexión

Desde otra terminal o equipo, intenta conectarte usando el nuevo puerto. El comando sería:

ssh usuario@tu-servidor.com -p 2200

Si la conexión es exitosa, ya puedes cerrar la sesión antigua. Si falla, revisa los pasos anteriores, especialmente el firewall.


## Método alternativo: Editar el archivo sshd_config manualmente

Si prefieres usar la terminal o necesitas un control más fino, puedes editar el archivo de configuración directamente.

### Paso 1: Accede por SSH

Conéctate a tu servidor usando el puerto actual (22) con un usuario con permisos de root.

### Paso 2: Edita el archivo de configuración

Abre el archivo con un editor de texto, por ejemplo:

nano /etc/ssh/sshd_config

### Paso 3: Busca la línea del puerto

Localiza la línea que dice #Port 22. Elimina la almohadilla (#) para descomentarla y cambia el número:

Port 2200

### Paso 4: Guarda y reinicia SSH

Guarda el archivo (en nano: Ctrl + O, luego Enter, y Ctrl + X para salir). Luego reinicia el servicio:

systemctl restart sshd

O en sistemas más antiguos:

service sshd restart

### Paso 5: Actualiza el firewall

Al igual que en el método de WHM, debes abrir el nuevo puerto en tu firewall. Si usas CSF:

csf -a tu-ip
csf -r

## Consideraciones de seguridad adicionales

Cambiar el puerto SSH es solo el primer paso. Para una protección robusta, combina esta medida con otras buenas prácticas.

### Desactiva el acceso por contraseña

La autenticación por contraseña es vulnerable a la fuerza bruta. Te recomiendo encarecidamente usar claves SSH (pares de llaves públicas y privadas). En el archivo sshd_config, asegúrate de tener:

PasswordAuthentication no
PubkeyAuthentication yes

Esto obligará a los usuarios a usar claves criptográficas, mucho más seguras que cualquier contraseña.

### Usa un puerto no estándar pero memorable

Elige un puerto que sea fácil de recordar pero difícil de adivinar para los bots. Por ejemplo, combinar tu año de nacimiento o un número significativo. Evita secuencias obvias como 1234 o 2222, ya que algunos escáneres avanzados las prueban.

### Configura el bloqueo de IPs

Herramientas como fail2ban o CSF pueden detectar intentos de fuerza bruta y bloquear automáticamente las IPs sospechosas. Configura un umbral bajo (por ejemplo, 3 intentos fallidos en 10 minutos) para una respuesta rápida.


## Solución de problemas comunes

Es normal encontrar algunos obstáculos al cambiar el puerto. Aquí tienes las soluciones a los problemas más frecuentes.

### No puedo conectarme al nuevo puerto

Revisa estos puntos en orden:

  1. Firewall local: Asegúrate de que el puerto está abierto en el firewall del servidor (CSF, iptables, etc.).
  2. Firewall del proveedor: Algunos hosting tienen un firewall externo o un grupo de seguridad en la nube. Verifica en tu panel de proveedor que el puerto esté permitido.
  3. SELinux: Si tu servidor usa SELinux (común en CentOS/RHEL), es posible que bloquee el nuevo puerto. Ejecuta:
    semanage port -a -t ssh_port_t -p tcp 2200
    

### El servicio SSH no se reinicia

Si el servicio falla al reiniciar, revisa el archivo de configuración en busca de errores de sintaxis. Puedes validarlo con:

sshd -t

Este comando te dirá si hay problemas en la configuración.

### Mi cliente SSH no recuerda el puerto

Si usas un cliente como PuTTY o Terminal, tendrás que especificar el puerto manualmente cada vez. Para facilitarlo, puedes crear un alias en tu archivo de configuración local (~/.ssh/config):

Host mi-servidor
    HostName tu-servidor.com
    User usuario
    Port 2200

## Preguntas frecuentes (FAQ)

### ¿Es obligatorio cambiar el puerto SSH?

No es obligatorio, pero es altamente recomendable. Reduce significativamente los intentos de acceso no autorizado y es una práctica de seguridad estándar en la industria.

### ¿Qué puerto debería usar?

Cualquier puerto entre 1024 y 65535 que no esté en uso. Algunos administradores prefieren puertos altos y aleatorios para mayor seguridad por oscuridad.

### ¿Afecta el rendimiento de mi sitio web?

No. SSH no tiene relación con el tráfico web. El cambio de puerto no afecta el rendimiento de Apache, LiteSpeed o Nginx.

### ¿Cómo afecta a los servicios que dependen de SSH?

Servicios como SFTP (FTP seguro) o SCP también usarán el nuevo puerto. Asegúrate de actualizar la configuración de tus clientes FTP o de sincronización.

### ¿Puedo usar el puerto 22 para otro servicio?

Técnicamente sí, pero no lo recomiendo. Es mejor dejar el puerto 22 sin usar para que los escáneres sigan golpeando contra una pared, mientras tu servicio real está protegido en otro puerto.

### ¿Qué pasa con Syspanel (HestiaCP)?

Si usas Syspanel (anteriormente conocido como HestiaCP), ten en cuenta que su panel de control administrativo accede por el puerto 2106. Este cambio no afecta la configuración de Syspanel, pero debes asegurarte de que el puerto 2106 esté abierto en tu firewall para acceder al panel. La configuración de SSH se maneja de forma independiente en el sistema.


## Conclusión y mejores prácticas finales

Cambiar el puerto SSH en cPanel (WHM) es un procedimiento simple pero poderoso que añade una capa de seguridad crucial a tu servidor. Al alejarte del puerto predeterminado, evitas la mayoría de los ataques automatizados de fuerza bruta que saturan Internet.

Recuerda siempre:

  • Documenta el nuevo puerto en un lugar seguro para no olvidarlo.
  • Actualiza tus scripts y aplicaciones que usan conexiones SSH.
  • Combina el cambio de puerto con autenticación por claves y un firewall configurado.
  • Prueba el acceso antes de cerrar tu sesión actual.

Si sigues estos pasos, tu servidor estará mucho más seguro. Y si en algún momento te sientes perdido, no dudes en consultar la documentación de tu proveedor o abrir un ticket de soporte. La seguridad es un proceso continuo, y cada pequeño cambio cuenta.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel