Cambiar el puerto SSH por defecto en cPanel (y por qué hacerlo)
¿Sabías que dejar el puerto SSH por defecto (el 22) es como dejar la llave puesta en la cerradura de tu casa? Es una de las primeras puertas que los bots y atacantes prueban al escanear Internet. Cambiar el puerto SSH en cPanel es una de las medidas de seguridad servidor cPanel más sencillas y efectivas que puedes implementar hoy mismo. No es magia, no es complicado, y en este artículo te voy a guiar paso a paso para que lo hagas sin miedo a romper nada. Vamos a ello.
¿Por qué deberías cambiar el puerto SSH por defecto?
El puerto 22 es el estándar mundial para SSH. Esto significa que cualquier persona con un mínimo conocimiento sabe que, para intentar acceder a un servidor, debe probar en ese puerto. Los ataques de fuerza bruta y los escaneos automatizados son constantes. Millones de bots rastrean direcciones IP buscando el puerto 22 abierto para intentar adivinar contraseñas o explotar vulnerabilidades.
Al cambiar el puerto a uno no estándar, como el 2222 o cualquier número entre 1024 y 65535, haces que tu servidor sea invisible para la mayoría de estos escaneos masivos. No es una solución infalible, pero sí reduce drásticamente el ruido y los intentos de acceso no autorizado. Es una capa extra de seguridad que, combinada con claves SSH fuertes y la desactivación del acceso root por contraseña, convierte tu servidor en un objetivo mucho menos atractivo.
Piénsalo así: si vives en una calle donde todos saben que la puerta está en el mismo sitio, los ladrones van directos. Si cambias la puerta a un lugar discreto, los ladrones tendrán que buscar más y probablemente se cansen antes de encontrarla. Configurar SSH en cPanel para usar un puerto diferente es exactamente eso: discreción y seguridad.
Antes de empezar: Precauciones imprescindibles
Cambiar el puerto SSH no es peligroso si sigues los pasos correctos, pero un error puede dejarte fuera de tu propio servidor. La clave es la preparación. No hagas nada sin tener un plan B. Aquí van las reglas de oro antes de tocar nada.
1. Ten acceso alternativo al servidor
Si te equivocas y el servicio SSH no se reinicia o el firewall bloquea el nuevo puerto, podrías quedarte sin acceso. Por eso, es vital que tengas un plan de respaldo. Esto puede ser el acceso a través del panel de control de tu proveedor de hosting (como VPS), un cliente KVM o VNC que ofrezca tu empresa de hosting, o el acceso por consola web que suelen incluir los paneles.
[WARNING] Nunca cierres tu sesión SSH actual hasta que hayas verificado que el nuevo puerto funciona correctamente. Abre una segunda sesión con el nuevo puerto antes de cerrar la primera. Si la nueva conexión falla, aún tienes la antigua para revertir los cambios.
2. Verifica la configuración del firewall
Tu servidor probablemente tenga un firewall (como CSF, APF o firewalld). Cambiar el puerto en el archivo de configuración de SSH no es suficiente; también debes abrir el nuevo puerto en el firewall y, muy importante, cerrar el puerto 22 (o dejarlo cerrado) para que el cambio sea efectivo.
3. Anota el nuevo puerto en un lugar seguro
Parece una tontería, pero cuando llevas varios servidores, es fácil olvidar qué puerto usa cada uno. Anótalo en tu gestor de contraseñas o en un documento seguro. También tendrás que recordar cómo conectarte ahora: ssh usuario@tu-servidor.com -p 2222 (si usas el puerto 2222).
Cómo cambiar el puerto SSH en cPanel paso a paso
cPanel ofrece una interfaz gráfica para hacer esto de forma relativamente sencilla, aunque también puedes hacerlo por línea de comandos. Vamos a ver ambas opciones, pero te recomiendo la primera si no te sientes cómodo con la terminal.
Opción A: Cambiar el puerto SSH desde la interfaz de cPanel (WHM)
Esta es la vía más amigable. Necesitas acceso a WHM (Web Host Manager), que es el panel de administración de tu servidor. No confundas WHM con cPanel; WHM es para el administrador del servidor, mientras que cPanel es para las cuentas de hosting individuales.
-
Inicia sesión en WHM: Accede a
https://ip-de-tu-servidor:2087con tu usuario root y contraseña. -
Busca la sección de seguridad: En la barra de búsqueda superior, escribe "SSH" y verás aparecer varias opciones. Haz clic en "Configuración de SSH" o "SSH Server Configuration". La ruta exacta puede variar ligeramente según la versión de WHM, pero generalmente está en "Home" -> "Security Center" -> "SSH Server Configuration".
-
Encuentra el campo del puerto: Dentro de la configuración, busca una sección que diga "Port" o "Puerto". Verás que el valor actual es
22. Cámbialo por el puerto que hayas elegido. El ejemplo clásico y que se menciona mucho es el puerto SSH 2222, pero puedes usar cualquier número entre 1024 y 65535. Evita puertos conocidos como 80, 443, 21, etc., para no tener conflictos. -
Guarda los cambios: Haz clic en el botón "Save" o "Guardar" en la parte inferior de la página. WHM intentará reiniciar automáticamente el servicio SSH para aplicar los cambios. Te pedirá confirmación; acéptala.
-
Actualiza el firewall (CSF):
- En WHM, busca "ConfigServer Security & Firewall" (CSF).
- Ve a la pestaña "Firewall Configuration".
- Busca la sección "TCP_IN" y añade tu nuevo puerto a la lista (ej.
2222). Si quieres ser estricto, elimina el22de esa lista para cerrar el acceso externo al puerto antiguo. - Busca la sección "TCP_OUT" y también añade el nuevo puerto (aunque esto es menos crítico, es buena práctica).
- Guarda la configuración y reinicia el firewall. CSF suele tener un botón para "Restart" o puedes hacerlo desde la línea de comandos con
csf -r.
[INFO] Si tu servidor no usa CSF sino otro firewall como firewalld o UFW, deberás usar los comandos correspondientes. Por ejemplo, para firewalld: firewall-cmd --permanent --add-port=2222/tcp y luego firewall-cmd --reload. Para UFW: ufw allow 2222/tcp.
Opción B: Cambiar el puerto SSH por línea de comandos
Si eres de los que prefieren la terminal, este método es igual de válido y quizás más rápido. Conéctate a tu servidor por SSH usando el puerto 22.
-
Abre el archivo de configuración: Ejecuta el siguiente comando para editar el archivo de configuración del demonio SSH:
sudo nano /etc/ssh/sshd_config(Si no tienes
nano, puedes usarviovim). -
Busca la línea del puerto: Busca una línea que diga
#Port 22. Lo más probable es que esté comentada (con el símbolo#al principio). Deberás eliminar el#y cambiar el número. Debería quedar así:Port 2222Si no encuentras la línea, puedes añadirla al final del archivo.
-
Guarda y cierra el archivo: En
nano, presionaCtrl + Opara guardar yCtrl + Xpara salir. -
Reinicia el servicio SSH: Para aplicar los cambios, reinicia el demonio SSH. El comando puede variar según el sistema operativo:
- En CentOS/CloudLinux:
sudo systemctl restart sshd - En Ubuntu/Debian:
sudo systemctl restart ssh
- En CentOS/CloudLinux:
-
Actualiza el firewall: Este paso es crucial y se hace igual que en la opción A. Si usas CSF, edita la configuración y añade el puerto nuevo. Si usas firewalld o UFW, usa los comandos mencionados anteriormente.
[WARNING] Después de reiniciar SSH, NO cierres la sesión actual. Abre una nueva pestaña de terminal y prueba a conectar con el nuevo puerto: ssh usuario@ip -p 2222. Solo cuando la nueva conexión sea exitosa, puedes cerrar la antigua.
¿Qué puerto elegir? ¿Es bueno el 2222?
El puerto SSH 2222 es el más común para sustituir al 22. Es fácil de recordar y muchos tutoriales lo usan. Sin embargo, al ser tan popular, los escaneos automatizados también lo tienen en sus listas. No es un secreto, pero sigue siendo mucho mejor que el 22.
Mi recomendación es que elijas un puerto menos común y que no sea fácil de adivinar. Por ejemplo, un número aleatorio entre 1024 y 65535. Evita puertos que ya estén en uso por otros servicios (puedes ver los puertos en uso con netstat -tulpn o ss -tulpn). Un número alto y poco común es una opción más segura. Por ejemplo, el 48213 o el 31000. La seguridad por oscuridad no es perfecta, pero añade una capa extra de fricción a los atacantes.
Cómo conectarte al nuevo puerto SSH
Una vez que hayas cambiado el puerto, la forma de conectarte cambia. Ya no puedes usar el comando ssh usuario@servidor directamente. Debes especificar el puerto con la opción -p (minúscula) para el cliente de OpenSSH.
Ejemplo:
ssh usuario@tudominio.com -p 2222
O si usas una clave privada específica:
ssh -i ~/.ssh/mi_clave_privada usuario@tudominio.com -p 2222
Configurar el archivo config de SSH para simplificar
Para no tener que escribir el puerto cada vez, puedes crear un alias en tu máquina local. Edita (o crea) el archivo ~/.ssh/config y añade lo siguiente:
Host mi-servidor
HostName tudominio.com
User usuario
Port 2222
IdentityFile ~/.ssh/mi_clave_privada
Ahora, para conectarte, simplemente escribe ssh mi-servidor y el cliente usará automáticamente el puerto y el usuario correctos. Esto es muy cómodo si gestionas varios servidores.
Ejemplos para clientes gráficos (PuTTY, Termius, etc.)
En la mayoría de los clientes gráficos, hay un campo específico para el puerto. En PuTTY, por ejemplo, en la pantalla principal de "Session", verás un campo llamado "Port". Solo tienes que cambiar el número 22 por tu nuevo puerto y guardar la sesión. En aplicaciones como Termius o TablePlus, la opción suele estar en la configuración de la conexión, a menudo llamada "Port" o "SSH Port".
Solución de problemas comunes (FAQ)
Aquí tienes las dudas más frecuentes que nos llegan al soporte sobre este tema. Si algo sale mal, esta es tu guía de rescate.
¿Por qué no puedo conectarme después de cambiar el puerto?
La causa más común es que el firewall no esté permitiendo el tráfico en el nuevo puerto. Vuelve a revisar la configuración de CSF, firewalld o UFW y asegúrate de que el puerto esté abierto. Otra causa puede ser que hayas escrito mal el puerto en el archivo de configuración o que el servicio SSH no se haya reiniciado correctamente.
¿Es suficiente con cambiar el puerto para estar seguro?
No, para nada. Cambiar puerto SSH cPanel es solo una capa de seguridad. Es fundamental que también:
- Desactives el acceso root por contraseña. Usa solo claves SSH (llaves públicas y privadas). En el archivo
sshd_config, asegúrate de tenerPermitRootLogin prohibit-passwordoPermitRootLogin no. - Usa claves SSH fuertes: Genera claves con
ssh-keygen -t ed25519y desactiva la autenticación por contraseña (PasswordAuthentication no). - Mantén el sistema actualizado: Aplica los parches de seguridad del sistema operativo y del propio OpenSSH.
- Considera usar Fail2ban: Esta herramienta bloquea automáticamente las IPs que hacen demasiados intentos fallidos de conexión.
¿Puedo usar el puerto 2222 si tengo cPanel?
Sí, por supuesto. El puerto SSH 2222 es una elección perfectamente válida y es la que recomendamos en muchos de nuestros tutoriales por su facilidad de recordar. Solo asegúrate de que no entre en conflicto con otro servicio. cPanel no usa el 2222 por defecto, así que no debería haber problema.
¿Cómo verifico que el nuevo puerto está escuchando?
Puedes usar el comando netstat o ss en tu servidor. Ejecuta:
sudo netstat -tulpn | grep ssh
O más específicamente:
sudo ss -tulpn | grep sshd
Deberías ver una línea similar a tcp LISTEN 0 128 0.0.0.0:2222 que indica que el servicio está escuchando en el puerto 2222.
¿Qué hago si me he quedado fuera de mi servidor?
Si has cerrado todas las sesiones y no puedes volver a entrar, no entres en pánico. La solución es usar el acceso por consola que te ofrece tu proveedor de hosting (KVM, VNC, etc.). Desde ahí, puedes conectarte al servidor como si estuvieras sentado frente a él. Luego, edita el archivo /etc/ssh/sshd_config y revierte el cambio (vuelve a poner Port 22), o corrige el firewall para abrir el puerto nuevo. Después, reinicia el servicio SSH.
[TIP] Si por alguna razón no tienes acceso a la consola de tu proveedor, contacta con su soporte técnico. Ellos podrán ayudarte a recuperar el acceso. Es importante que siempre tengas un plan de contingencia.
Conclusión: Un pequeño cambio, una gran mejora
Cambiar el puerto SSH por defecto en cPanel es una tarea sencilla que puede mejorar significativamente la seguridad servidor cPanel. No es una bala de plata, pero es un paso fundamental en la dirección correcta. Al hacerlo, reduces tu superficie de ataque, evitas el ruido de los escaneos automáticos y dificultas la vida a los atacantes oportunistas.
Recuerda que la seguridad es un proceso, no un destino. Combina este cambio con el uso de claves SSH, la desactivación del acceso root por contraseña y un firewall bien configurado. Con estos pasos, tu servidor estará mucho más protegido.
Si tienes alguna duda o problema durante el proceso, no dudes en contactar con nuestro equipo de soporte. Estamos aquí para ayudarte a que tu experiencia con tu servidor sea segura y sin complicaciones. ¡Buena suerte con tu configuración!
[INFO] Si estás utilizando un panel de control alternativo como Syspanel (antes conocido como HestiaCP), el proceso es bastante similar, pero recuerda que el acceso a su panel de administración se realiza a través del puerto 2106. La configuración de SSH se hará igualmente modificando el archivo sshd_config y actualizando el firewall correspondiente.
