Cómo cambiar el puerto SSH en cPanel para mejorar la seguridad
¿Por qué deberías cambiar el puerto SSH en cPanel?
El protocolo SSH (Secure Shell) es la puerta de entrada principal para administrar tu servidor de forma remota. Por defecto, todos los servidores escuchan en el puerto 22, lo que lo convierte en un objetivo constante para bots y atacantes que intentan acceder a tu sistema. Cada minuto, hay miles de intentos automatizados de conexión a ese puerto, en lo que se conoce como ataques de fuerza bruta.
Cambiar el puerto SSH a un número personalizado no es una solución mágica que haga tu servidor invulnerable, pero sí es una capa de seguridad muy efectiva. Al mover el servicio a un puerto no estándar, reduces drásticamente el ruido de escaneos automáticos y obligas a cualquier atacante a realizar un trabajo mucho más específico para encontrarte.
En este artículo, te explicaré paso a paso cómo cambiar el puerto SSH en cPanel, qué precauciones debes tomar antes de hacerlo y cómo solucionar los problemas más comunes. Es un proceso más sencillo de lo que parece, y con esta guía lo harás sin romper nada.
Antes de empezar: preparación y precauciones
Haz una copia de seguridad de tu configuración
Antes de tocar cualquier archivo de configuración, es vital que hagas una copia de seguridad. El archivo que vamos a modificar se llama sshd_config y normalmente se encuentra en /etc/ssh/sshd_config. Si algo sale mal, podrás restaurar la configuración original sin perder el acceso a tu servidor.
Para copiar el archivo, abre tu terminal y ejecuta:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Comprueba que tienes acceso de root o sudo
Necesitarás privilegios de administrador para modificar el archivo de configuración. Si eres el propietario de la cuenta de hosting o tienes acceso root a través de WHM, no tendrás problema. Si solo tienes acceso a cPanel, es posible que necesites contactar con tu proveedor de hosting para que realice el cambio por ti.
Mantén una sesión SSH abierta mientras haces el cambio
Este es el consejo más importante de todos: nunca cierres tu sesión SSH actual hasta que hayas verificado que el nuevo puerto funciona. Si cometes un error y cierras la sesión, podrías quedarte fuera del servidor sin posibilidad de volver a entrar. Deja esa ventana de terminal abierta y abre una segunda para hacer los cambios.
Paso a paso: cómo cambiar el puerto SSH en cPanel
Paso 1: Accede a tu servidor por SSH
Necesitas conectarte a tu servidor usando el puerto actual (por defecto, el 22). Si no sabes cómo hacerlo, usa un cliente como PuTTY en Windows o la terminal en macOS/Linux:
ssh usuario@tu-servidor.com
Una vez dentro, tendrás acceso a la línea de comandos.
Paso 2: Localiza el archivo de configuración
El archivo que controla el comportamiento del servicio SSH es sshd_config. Para abrirlo con el editor nano (el más sencillo para principiantes), ejecuta:
nano /etc/ssh/sshd_config
Si prefieres usar vi o vim, también puedes, pero nano es más intuitivo. Verás una serie de líneas de configuración. Busca la línea que dice:
#Port 22
El símbolo # al inicio significa que la línea está comentada, es decir, que el sistema usa el valor por defecto (22). Lo que haremos es descomentarla y cambiar el número.
Paso 3: Elige un puerto personalizado
Aquí tienes que elegir un número de puerto que no esté en uso. Algunas opciones populares son 2222, 2200, 22222 o cualquier número entre 1024 y 65535. Evita puertos comunes como 21 (FTP), 80 (HTTP) o 443 (HTTPS) para no crear conflictos.
[TIP] Elige un número que sea fácil de recordar pero difícil de adivinar. Por ejemplo, 48753 es mucho mejor que 2222, porque los atacantes también conocen los puertos alternativos más comunes.
Paso 4: Modifica la configuración
Cambia la línea #Port 22 por tu nuevo puerto, por ejemplo:
Port 48753
Asegúrate de eliminar el # para que la línea esté activa. Si ya existe una línea Port 22 sin comentar, cámbiala directamente.
Paso 5: Guarda los cambios y reinicia el servicio
En nano, guarda con Ctrl+O, confirma con Enter y sal con Ctrl+X. Ahora reinicia el servicio SSH para que los cambios tengan efecto:
systemctl restart sshd
O si tu sistema usa otro gestor de servicios:
service sshd restart
Paso 6: Prueba la nueva conexión
No cierres tu sesión actual todavía. Abre una nueva terminal e intenta conectarte usando el nuevo puerto:
ssh -p 48753 usuario@tu-servidor.com
Si la conexión funciona, ¡enhorabuena! Ya has cambiado el puerto SSH. Ahora sí puedes cerrar la sesión antigua.
Configurar el firewall y cPanel para el nuevo puerto
Actualiza las reglas del firewall
Si tienes un firewall activo (como CSF, iptables o el firewall integrado de cPanel), necesitas permitir el tráfico en el nuevo puerto. En cPanel, puedes usar el administrador de firewall desde WHM. Si usas CSF, el comando sería:
csf -a IP_CLIENTE
Pero lo más importante es añadir el nuevo puerto a la configuración de puertos permitidos. En CSF, edita /etc/csf/csf.conf y añade tu puerto a la línea TCP_IN:
TCP_IN = "20,21,25,53,80,110,143,443,465,587,993,995,48753"
Luego reinicia CSF:
csf -r
Configura la monitorización en cPanel
cPanel tiene un sistema de monitoreo que verifica que SSH esté activo. Si no actualizas la configuración, cPanel podría mostrar alertas de que el servicio está caído, cuando en realidad solo está en otro puerto.
Desde WHM, ve a "Configuración de servicios" y localiza la entrada de SSH. Actualiza el puerto al nuevo valor. Esto evitará falsas alarmas y mantendrá el monitoreo funcionando correctamente.
Mejora la seguridad SSH más allá del puerto
Cambiar el puerto es solo el primer paso. Para blindar tu servidor, combina esta medida con otras prácticas recomendadas:
Desactiva el acceso root por SSH
Edita el archivo sshd_config y asegúrate de que la línea PermitRootLogin esté en no. Esto obliga a usar un usuario con privilegios sudo, lo que añade una capa extra de seguridad.
Usa autenticación con llaves SSH
Las contraseñas son vulnerables a ataques de fuerza bruta. Configura llaves públicas y privadas para conectarte sin necesidad de escribir una contraseña. En sshd_config, establece:
PasswordAuthentication no
Así, solo podrán conectarse quienes tengan la llave privada correspondiente.
Instala Fail2ban
Fail2ban es una herramienta que bloquea automáticamente las IPs que realizan múltiples intentos fallidos de conexión. Es muy efectivo contra ataques de fuerza bruta SSH. Para instalarlo:
apt install fail2ban
Y configúralo para monitorear el nuevo puerto.
[WARNING] No te limites a cambiar el puerto. Un atacante determinado puede descubrirlo con un escaneo de puertos. Usa esta técnica como parte de una estrategia de seguridad integral, no como única medida.
Solución de problemas comunes
No puedo conectarme después del cambio
Si después de reiniciar el servicio no puedes conectarte al nuevo puerto, verifica:
- Que el firewall permite el tráfico en ese puerto.
- Que el servicio SSH está activo:
systemctl status sshd. - Que escribiste el puerto correctamente en tu cliente SSH.
Si el problema persiste, restaura la copia de seguridad:
cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
systemctl restart sshd
cPanel muestra errores de monitoreo
Como mencionamos antes, actualiza el puerto en la configuración de servicios de WHM. Si no lo haces, cPanel podría intentar verificar SSH en el puerto 22 y reportar que está caído.
El puerto que elegí está ocupado
Antes de reiniciar SSH, verifica que el puerto no esté en uso con:
netstat -tulpn | grep PUERTO
Si aparece algún servicio, elige otro número.
Preguntas frecuentes sobre cambiar el puerto SSH en cPanel
¿Es obligatorio cambiar el puerto SSH?
No es obligatorio, pero es altamente recomendable. Los ataques de fuerza bruta SSH son constantes, y cambiar el puerto reduce significativamente la exposición a esos ataques automatizados.
¿Puedo cambiar el puerto SSH desde el panel de control?
En cPanel estándar, no hay una opción directa para cambiar el puerto SSH. Debes hacerlo desde la línea de comandos con acceso root. Si tu proveedor usa Syspanel (antes HestiaCP), el acceso se realiza a través del puerto 2106, pero la configuración de SSH se sigue manejando desde el archivo sshd_config.
¿Qué puertos son seguros para SSH?
Cualquier puerto entre 1024 y 65535 que no esté en uso es seguro. Evita puertos comunes como 2222, 22 o 22222 porque son conocidos por los atacantes. Cuanto más alto y aleatorio sea el número, mejor.
¿Pierdo algo al cambiar el puerto SSH?
No pierdes funcionalidad, solo cambias el punto de acceso. Los clientes SSH modernos te permiten especificar el puerto fácilmente, y puedes guardar perfiles en PuTTY o en tu archivo ~/.ssh/config para no tener que escribirlo cada vez.
¿Qué hago si mi proveedor de hosting no me da acceso root?
Si no tienes acceso root, contacta con el soporte técnico de tu proveedor y solicita que cambien el puerto SSH por ti. Muchos proveedores lo hacen sin costo adicional si explicas que es por motivos de seguridad.
Conclusión: un pequeño cambio, una gran mejora
Cambiar el puerto SSH en cPanel es una de las medidas de seguridad más sencillas y efectivas que puedes implementar en tu servidor. No requiere conocimientos avanzados, solo seguir los pasos que te he mostrado y tomar las precauciones necesarias para no quedarte fuera.
Recuerda que la seguridad no es un destino, sino un proceso continuo. Combina el cambio de puerto con autenticación por llaves, desactiva el acceso root y mantén tu sistema actualizado. Con estas prácticas, tu servidor estará mucho mejor protegido contra los ataques de fuerza bruta SSH que amenazan a todos los servidores en internet.
Si tienes alguna duda o encuentras algún problema durante el proceso, no dudes en consultar la documentación oficial de cPanel o contactar con tu proveedor de hosting. La seguridad de tu servidor es responsabilidad de todos los que lo administran, y cada capa de protección cuenta.
[INFO] Para más artículos sobre seguridad en hosting, cPanel y WordPress, sigue explorando nuestro blog. Tenemos guías detalladas para que cualquier usuario, sin importar su nivel técnico, pueda proteger su presencia en línea.
