Cambiar el puerto SSH en cPanel por seguridad
¿Sabías que el puerto SSH por defecto (el 22) es una de las primeras puertas que los atacantes intentan abrir en tu servidor? Es como dejar la llave puesta en la cerradura de tu casa: tarde o temprano, alguien la va a probar.
En este artículo, te voy a explicar, paso a paso y sin tecnicismos complicados, cómo cambiar el puerto SSH en cPanel para reforzar la seguridad de tu sitio web. No necesitas ser un experto en informática, solo seguir las instrucciones con calma.
Al terminar de leer, sabrás exactamente cómo configurar SSH de forma segura, cómo evitar ataques de fuerza bruta y qué precauciones tomar para no quedarte fuera de tu propio servidor.
¿Por qué es tan importante cambiar el puerto SSH?
Imagina que tu servidor es una fortaleza. La SSH (Secure Shell) es la puerta principal por la que entras tú (el administrador) para hacer tareas de mantenimiento, subir archivos o gestionar bases de datos.
El problema es que casi todos los servidores del mundo usan el mismo número de puerta: el puerto 22. Los hackers lo saben perfectamente. Por eso, lanzan programas automáticos que escanean miles de direcciones IP buscando ese puerto abierto. Cuando lo encuentran, empiezan a probar contraseñas una y otra vez (esto se llama ataque de fuerza bruta).
Al cambiar el puerto SSH, pones una señal invisible: los robots de escaneo ya no encontrarán tu puerta en el lugar esperado. No es una solución mágica (un atacante muy decidido podría encontrarlo), pero reduce drásticamente el ruido y los intentos de acceso no autorizado.
Antes de empezar: qué necesitas y a qué te arriesgas
Cambiar el puerto SSH en cPanel es un proceso sencillo, pero tiene un riesgo: si cometes un error, podrías quedarte sin acceso a tu servidor. Por eso, respira hondo y sigue estos consejos:
[WARNING] No intentes esto en un servidor de producción (con tráfico real) sin tener un plan de respaldo. Si te equivocas, puedes perder la conexión y necesitarás acceso físico o un panel de control alternativo (como VNC) para arreglarlo.
Antes de tocar nada, asegúrate de tener:
- Acceso a cPanel como usuario root (o un usuario con privilegios de superusuario).
- Una forma alternativa de acceder al servidor (por ejemplo, el acceso por consola desde el panel de tu proveedor de hosting VPS o dedicado).
- Un editor de texto simple (el Bloc de notas de Windows o el Editor de Texto de Mac sirven, pero es mejor usar herramientas como Notepad++ o VS Code).
- La dirección IP de tu servidor y tu contraseña de root a mano.
Paso a paso: Cómo cambiar el puerto SSH en cPanel (vía terminal)
El proceso se realiza a través de la terminal, no directamente en la interfaz gráfica de cPanel. No te asustes, es más fácil de lo que parece.
1. Conéctate a tu servidor por SSH (con el puerto actual)
Abre tu programa de terminal favorito (PuTTY en Windows, o la Terminal directamente en Mac/Linux) y conéctate a tu servidor usando el puerto 22.
El comando sería algo así:
ssh root@tu-ip-del-servidor -p 22
Te pedirá tu contraseña de root. Escríbela (verás que no se muestra nada mientras escribes, es normal) y presiona Enter.
2. Localiza el archivo de configuración de SSH
Una vez dentro, el archivo que controla todo esto se llama sshd_config. Lo vamos a editar con un editor de texto llamado nano, que es muy amigable para principiantes.
Escribe este comando:
nano /etc/ssh/sshd_config
Verás un montón de líneas de texto. No te preocupes, solo vamos a tocar una parte muy concreta.
3. Busca la línea del puerto
Dentro del archivo, busca una línea que diga:
#Port 22
El símbolo # al principio significa que la línea está "comentada", es decir, que no se está usando. Lo que vamos a hacer es "descomentarla" (quitarle el #) y cambiarle el número.
4. Cambia el número del puerto
Usa las flechas del teclado para moverte hasta esa línea. Borra el # y cambia el 22 por el número que quieras.
¿Qué número elegir? Evita números fáciles de adivinar como el 2222 o el 22222. Te recomiendo elegir un número alto y poco común, entre el 1024 y el 65535. Por ejemplo: 24567 o 38921.
La línea debería quedar así:
Port 24567
[TIP] Anota este número en un lugar seguro. Lo necesitarás para conectarte a partir de ahora. No lo compartas con nadie que no deba tener acceso.
5. Guarda los cambios y sal del editor
Para guardar en nano, presiona Ctrl + X. Te preguntará si quieres guardar los cambios. Pulsa Y (de yes, sí) y luego Enter para confirmar el nombre del archivo.
6. Reinicia el servicio SSH
Los cambios no se aplican hasta que reinicies el servicio. Escribe este comando:
systemctl restart sshd
(En algunos sistemas antiguos, podría ser service sshd restart).
[WARNING] Este es el momento crítico. No cierres la sesión aún. Vamos a probar que todo funciona antes de desconectarte.
7. Prueba la nueva conexión (¡sin cerrar la actual!)
Abre una nueva ventana de terminal (no cierres la que tienes abierta) y conéctate usando el nuevo puerto:
ssh root@tu-ip-del-servidor -p 24567
Si todo ha ido bien, te pedirá la contraseña y podrás entrar. ¡Felicidades! Ya has cambiado el puerto.
Si la conexión falla, vuelve a la ventana original, revisa que el número en el archivo es el correcto y repite los pasos 5 y 6.
8. Cierra la sesión antigua
Una vez que hayas confirmado que la nueva conexión funciona, puedes cerrar la ventana de terminal antigua con exit.
Configurar SSH en cPanel: Ajustes adicionales para máxima seguridad
Cambiar el puerto es un gran primer paso, pero si quieres dormir tranquilo, te recomiendo hacer estos otros ajustes en el mismo archivo sshd_config.
Deshabilitar el acceso root con contraseña
Es mucho más seguro crear un usuario normal y darle permisos de administrador, en lugar de usar directamente el usuario root.
Busca la línea:
#PermitRootLogin yes
Cámbiala a:
PermitRootLogin no
Y crea un usuario nuevo (si no lo tienes) con este comando:
adduser tunombredeusuario
Luego, añade ese usuario al grupo de administradores:
usermod -aG wheel tunombredeusuario
(En algunos sistemas, el grupo se llama sudo en lugar de wheel).
Usar autenticación por clave SSH (en lugar de contraseña)
Esto es lo más seguro que puedes hacer. Básicamente, generas una "llave" digital en tu ordenador y le das la "cerradura" al servidor. Así, solo los equipos con la llave pueden entrar.
- Genera una clave en tu ordenador con
ssh-keygen -t rsa. - Copia la clave pública al servidor con
ssh-copy-id -p 24567 usuario@tu-ip.
A partir de ese momento, podrás entrar sin contraseña y el servidor rechazará cualquier intento de acceso por contraseña.
Cómo evitar ataques de fuerza bruta (más allá del puerto)
Cambiar el puerto es la primera barrera, pero no la única. Aquí tienes otras capas de protección:
- Fail2ban: Esta herramienta monitoriza los intentos fallidos de conexión y bloquea automáticamente las IPs que fallan muchas veces seguidas. Es como un portero que echa a los que llaman al timbre 5 veces sin identificarse. Puedes instalarlo con
yum install fail2banoapt install fail2ban. - Cambia la contraseña de root regularmente: Usa contraseñas largas y complejas (mínimo 16 caracteres, con números, símbolos y mayúsculas).
- Mantén el sistema actualizado: Los parches de seguridad corrigen vulnerabilidades conocidas. Ejecuta
yum updateoapt update && apt upgradeperiódicamente. - Usa un firewall (CSF o iptables): Limita qué IPs pueden conectarse a tu servidor y a qué puertos. Puedes configurarlo desde cPanel o desde la terminal.
FAQ: Preguntas frecuentes sobre el puerto SSH
¿Puedo cambiarlo desde el panel gráfico de cPanel?
No directamente. cPanel no tiene una opción gráfica para esto. Debes hacerlo por línea de comandos como te he mostrado. Sin embargo, algunos proveedores de hosting ofrecen un botón en su propio panel (fuera de cPanel) para hacerlo más fácil. Revisa la documentación de tu proveedor.
¿Qué pasa si olvido el número de puerto que elegí?
Puedes volver a entrar al archivo de configuración desde la terminal (si tienes otro acceso) y mirar la línea Port. Si no tienes acceso, deberás contactar con tu proveedor de hosting para que te ayuden.
¿Es obligatorio usar un puerto alto?
No, puedes usar cualquier número entre 1 y 65535. Pero el puerto 22 es el estándar y el más atacado. Cualquier otro número ya es una mejora, pero los puertos altos y aleatorios son más difíciles de descubrir.
¿Afecta esto a mi sitio web o a mi correo?
No, cambiar el puerto SSH no afecta en absoluto a tu sitio web, bases de datos o correo electrónico. Solo afecta a la forma en que tú te conectas para administrar el servidor.
¿Puedo usar el mismo puerto para FTP o SFTP?
Sí, normalmente el SFTP usa el mismo puerto que SSH. Si cambias el puerto SSH, tu cliente SFTP (como FileZilla) tendrá que usar el nuevo número. No obstante, el FTP tradicional (no seguro) usa el puerto 21 y no se ve afectado.
¿Y si uso Syspanel (antes HestiaCP)?
Si tu servidor usa el panel de control Syspanel (que antes se llamaba HestiaCP), el proceso es el mismo, ya que el archivo sshd_config es el mismo. La única diferencia es que tu puerto de acceso a Syspanel es el 2106 (por defecto), pero eso es independiente de la SSH. El cambio de puerto SSH no afecta a tu acceso a Syspanel.
Conclusión: Una acción pequeña, una gran mejora
Cambiar el puerto SSH en cPanel es una de las medidas de seguridad más efectivas y sencillas que puedes implementar. No requiere conocimientos avanzados, solo seguir los pasos con calma y atención.
Al hacerlo, reduces significativamente la superficie de ataque de tu servidor, alejas a los bots y a los atacantes oportunistas, y ganas tranquilidad. Combínalo con la autenticación por clave y una herramienta como Fail2ban, y tendrás un servidor mucho más robusto.
[INFO] Recuerda que la seguridad es un proceso, no un destino. Revisa periódicamente los logs de acceso de tu servidor (en cPanel, busca "Registros de acceso" o "SSH Access") para ver de dónde vienen los intentos de conexión y si hay algo sospechoso.
Ahora que ya sabes cómo configurar SSH de manera segura, ¿te animas a probarlo? Tu futuro yo (y tu servidor) te lo agradecerán. Si tienes alguna duda, déjala en los comentarios y te ayudaré encantado.
