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

Cómo cambiar el puerto SSH en cPanel para evitar ataques de fuerza bruta

Actualizado el 22 de diciembre de 2025

¿Por qué deberías cambiar el puerto SSH en cPanel?

Los ataques de fuerza bruta son una de las amenazas más comunes y persistentes que enfrentan los servidores Linux con cPanel. Un atacante utiliza programas automatizados que prueban miles de combinaciones de usuario y contraseña por minuto contra tu puerto SSH (el 22 por defecto). Si tu contraseña es débil o reutilizada, es solo cuestión de tiempo antes de que alguien acceda a tu servidor.

Cambiar el puerto SSH no es una solución milagrosa, pero es una capa de seguridad fundamental dentro de una estrategia de hardening servidor. Al mover el servicio a un puerto no estándar, reduces drásticamente el ruido de escaneos automáticos y bots que buscan el puerto 22 abierto. Es como cambiar la cerradura de tu puerta principal y ponerla en una entrada lateral discreta: los ladrones comunes seguirán probando la puerta principal.

En esta guía, te explicaré paso a paso cómo realizar este cambio desde cPanel y WHM, qué precauciones debes tomar y cómo verificar que todo funcione correctamente. No necesitas ser un experto en Linux, pero sí seguir las instrucciones al pie de la letra.

Requisitos previos antes de tocar la configuración

Antes de lanzarte a modificar archivos de configuración, asegúrate de cumplir con estos requisitos:

  1. Acceso root al servidor vía SSH o a WHM (Web Host Manager). Sin permisos de administrador, no podrás modificar el archivo de configuración de SSH.
  2. Conexión estable a tu servidor. Si te quedas sin acceso durante el proceso, podrías quedarte fuera.
  3. Conocimiento básico de edición de archivos en terminal (nano o vi).
  4. Tener a mano la IP pública de tu servidor y las credenciales de acceso.
  5. Un segundo método de acceso como el panel de control de tu proveedor (Vultr, DigitalOcean, etc.) por si algo sale mal.

[WARNING] Si solo tienes acceso SSH por puerto 22 y lo cambias mal, podrías quedarte bloqueado para siempre. Asegúrate de tener un plan B antes de empezar.

Método 1: Cambiar el puerto SSH desde WHM (Recomendado)

WHM es el panel de administración de cPanel y ofrece una interfaz gráfica para modificar la configuración de SSH. Este es el método más seguro y sencillo para la mayoría de los usuarios.

Paso 1: Accede a WHM

Ingresa a https://tu-servidor:2087 con tu usuario root y contraseña. Si no recuerdas la URL exacta, puedes probar con https://tu-ip:2087.

Paso 2: Busca la sección de servicios

En la barra de búsqueda de WHM (parte superior izquierda), escribe "SSH" y verás varias opciones. Haz clic en "SSH Server Configuration" o "Configuración del servidor SSH".

Paso 3: Modifica el puerto

En la sección "Port" o "Puerto", verás el número 22 por defecto. Cámbialo a un valor entre 1024 y 65535. Algunos puertos recomendados son:

  • 2222
  • 2200
  • 22222
  • 4822
  • 9022

[TIP] Evita usar puertos comunes como 80, 443, 21 o 25, ya que podrían entrar en conflicto con otros servicios. También es buena idea evitar el 2222 si es muy conocido, aunque es mejor que el 22.

Paso 4: Guarda los cambios

Haz clic en "Save" o "Guardar". WHM reiniciará el servicio SSH automáticamente. Verás un mensaje de confirmación.

Paso 5: Abre el nuevo puerto en el firewall

Este paso es crítico. Si tienes un firewall como CSF (ConfigServer Security & Firewall), deberás 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 en el campo "TCP_IN". Guarda los cambios y reinicia el firewall.

Método 2: Cambiar el puerto SSH directamente por terminal

Si prefieres la línea de comandos o no tienes acceso a WHM, puedes hacerlo manualmente. Este método es más avanzado, pero te da más control.

Paso 1: Conéctate a tu servidor

Usa tu cliente SSH favorito (PuTTY en Windows, Terminal en Mac/Linux) y conéctate al puerto 22 con tu usuario root.

Paso 2: Haz una copia de seguridad

Antes de tocar nada, crea una copia del archivo de configuración:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

Paso 3: Edita el archivo de configuración

Abre el archivo con nano:

nano /etc/ssh/sshd_config

Paso 4: Busca la línea del puerto

Busca la línea que dice #Port 22 o Port 22. Si tiene una almohadilla (#) al principio, elimínala. Cambia el número al puerto deseado:

Port 2222

Paso 5: Guarda y cierra

Presiona Ctrl + O para guardar, luego Ctrl + X para salir de nano.

Paso 6: Reinicia el servicio SSH

systemctl restart sshd

O en sistemas más antiguos:

service sshd restart

Paso 7: Verifica que el servicio escucha en el nuevo puerto

netstat -tlnp | grep sshd

Deberías ver una línea similar a:

tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      1234/sshd

Cómo configurar el firewall y los grupos de seguridad

No basta con cambiar el puerto en SSH; también debes actualizar tu firewall y, si usas un proveedor cloud, los grupos de seguridad.

Firewall CSF (ConfigServer Security & Firewall)

Si usas CSF, edita el archivo /etc/csf/csf.conf:

nano /etc/csf/csf.conf

Busca la línea TCP_IN y añade el nuevo puerto:

TCP_IN = "20,21,25,53,80,110,143,443,465,587,993,995,2222"

Luego reinicia CSF:

csf -r

UFW (Uncomplicated Firewall) en Ubuntu/Debian

sudo ufw allow 2222/tcp
sudo ufw reload

Grupos de seguridad en cloud (AWS, GCP, Azure)

Accede a la consola de tu proveedor, busca el grupo de seguridad asociado a tu servidor y añade una regla de entrada para el puerto TCP 2222 (o el que hayas elegido) con tu IP de origen.

[WARNING] No olvides eliminar la regla del puerto 22 una vez que hayas confirmado que todo funciona. De lo contrario, estarás dejando una puerta trasera abierta.

Conectarse al nuevo puerto SSH

Una vez que hayas cambiado el puerto y configurado el firewall, es hora de probar la conexión.

Desde Linux o Mac

ssh usuario@tu-servidor -p 2222

Desde Windows con PuTTY

En el campo "Port", escribe el nuevo número de puerto antes de hacer clic en "Open".

Desde cPanel

Si usas la función de gestión de archivos de cPanel o el terminal integrado, deberás especificar el puerto en la configuración de la conexión.

Solución de problemas comunes

No puedo conectarme después del cambio

  1. Verifica el firewall: Asegúrate de que el nuevo puerto está abierto en todos los cortafuegos.
  2. Revisa el estado del servicio: systemctl status sshd te mostrará si hay errores.
  3. Comprueba SELinux: Si está activo, puede bloquear el nuevo puerto. Ejecuta semanage port -a -t ssh_port_t -p tcp 2222.
  4. Revisa los logs: /var/log/secure o /var/log/auth.log te darán pistas sobre qué está fallando.

¿Puedo usar múltiples puertos SSH?

Sí, puedes configurar varios puertos en el archivo sshd_config. Solo añade varias líneas Port. Esto es útil si necesitas mantener el 22 abierto para ciertos servicios mientras usas otro puerto para administración.

¿Debo deshabilitar el acceso por contraseña?

Como complemento, te recomiendo deshabilitar la autenticación por contraseña y usar solo claves SSH. En el archivo sshd_config, cambia:

PasswordAuthentication no

Esto elimina por completo el riesgo de fuerza bruta, ya que solo se puede acceder con un par de claves privadas.

Preguntas frecuentes (FAQ)

¿Es ilegal cambiar el puerto SSH?

No, es totalmente legal y una práctica recomendada de seguridad. Tu servidor es tuyo y puedes configurarlo como quieras.

¿Afecta el rendimiento del servidor?

En absoluto. Cambiar el puerto no tiene ningún impacto en el rendimiento. Solo cambia el número de puerto donde escucha el servicio.

¿Qué hago si olvido el nuevo puerto?

Puedes revisarlo en el archivo /etc/ssh/sshd_config o consultar la configuración en WHM. Alternativamente, ejecuta grep Port /etc/ssh/sshd_config.

¿Puedo usar el puerto 22 para otra cosa?

Sí, pero no es recomendable. Es mejor dejarlo cerrado en el firewall para evitar escaneos innecesarios.

¿Cada cuánto tiempo debería cambiar el puerto?

No es necesario cambiarlo con frecuencia. Una vez que lo establezcas a un valor no estándar y configures las claves SSH, es suficiente. Cámbialo solo si sospechas que alguien ha accedido.

Buenas prácticas de hardening servidor adicionales

Cambiar el puerto SSH es solo el primer paso. Para una protección completa, combina estas técnicas:

  1. Usa autenticación por claves SSH y desactiva las contraseñas.
  2. Configura Fail2Ban para bloquear IPs después de varios intentos fallidos.
  3. Limita el acceso por IP usando AllowUsers o reglas de firewall.
  4. Mantén el sistema actualizado con los últimos parches de seguridad.
  5. Usa una VPN para acceder a la red interna antes de conectarte por SSH.
  6. Monitorea los logs regularmente para detectar actividades sospechosas.

[INFO] Si usas Syspanel (antes llamado HestiaCP), el puerto de acceso a su panel es el 2106. Asegúrate de no usar ese puerto para SSH para evitar conflictos. Syspanel también tiene su propia configuración de seguridad que puedes revisar desde su panel de control.

Conclusión

Cambiar el puerto SSH en cPanel es un proceso sencillo que puede marcar una gran diferencia en la seguridad de tu servidor. No elimina todos los riesgos, pero reduce significativamente la superficie de ataque y aleja a los bots automatizados. Combínalo con autenticación por claves, Fail2Ban y un buen firewall para crear una defensa en profundidad.

Recuerda siempre hacer una copia de seguridad de los archivos de configuración antes de modificarlos y probar la nueva conexión desde una terminal diferente antes de cerrar la sesión actual. Si algo sale mal, tendrás tiempo de revertir los cambios.

La seguridad es un proceso continuo, no un destino. Cada medida que implementas hace que tu servidor sea más difícil de comprometer. Empieza hoy con este cambio simple y avanza desde ahí. Tu futuro yo te lo agradecerá cuando veas los intentos de acceso bloqueados en los logs.

¿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