Cómo cambiar el puerto SSH en cPanel y mejorar la seguridad de tu servidor
¿Por qué deberías cambiar el puerto SSH en cPanel?
Si tienes un servidor con cPanel, seguro que has oído hablar de SSH (Secure Shell). Es la herramienta que te permite conectarte a tu servidor de forma segura por línea de comandos. El problema es que, por defecto, SSH escucha en el puerto 22, y ese es un dato que los atacantes conocen perfectamente. Cada día, miles de bots escanean internet buscando servidores con el puerto 22 abierto para intentar ataques de fuerza bruta o explotar vulnerabilidades. Cambiar el puerto SSH es una de las medidas más sencillas y efectivas que puedes tomar para proteger tu servidor cPanel, y en esta guía te voy a explicar cómo hacerlo paso a paso, sin necesidad de ser un experto en sistemas.
Piénsalo así: dejar SSH en el puerto 22 es como dejar la puerta principal de tu casa con la cerradura puesta pero en una calle donde todos los ladrones saben exactamente dónde está tu puerta. Si la cambias a un número de puerto poco común, como el 2200 o el 8822, los atacantes perderán el interés rápidamente porque sus escaneos automáticos no lo detectarán con facilidad. No es una solución mágica que te haga invulnerable, pero sí que reduce drásticamente el ruido y los intentos de acceso no autorizado. Además, combinado con otras medidas como la autenticación por clave pública, convertirás tu servidor en un objetivo mucho menos atractivo.
Beneficios principales de cambiar el puerto SSH:
- Reduce los ataques automatizados de fuerza bruta.
- Disminuye los intentos de acceso no autorizado en los logs del sistema.
- Añade una capa extra de "seguridad por oscuridad" (no es la única medida, pero ayuda).
- Te permite personalizar la configuración de tu servidor según tus necesidades.
- Es un requisito básico en auditorías de seguridad y buenas prácticas de hardening.
Antes de empezar: requisitos y precauciones importantes
Antes de lanzarte a modificar la configuración de SSH, es fundamental que tengas en cuenta una serie de precauciones. Un error aquí podría dejarte sin acceso a tu servidor, y eso sería un dolor de cabeza innecesario. Así que, respira, lee esto con calma y asegúrate de cumplir todos los requisitos.
Requisitos previos
- Tener acceso a cPanel como usuario root o con privilegios de administrador.
- Tener acceso al puerto 22 actual (o al puerto que uses ahora) para poder conectarte y hacer los cambios.
- Tener a mano las credenciales de acceso a tu servidor (usuario y contraseña, o clave SSH).
- Opcional pero muy recomendable: tener un cliente SSH como PuTTY (en Windows) o la terminal nativa (en Linux/macOS).
Precauciones críticas
[WARNING] Nunca cierres tu sesión SSH actual mientras haces los cambios. Si algo sale mal y te desconectas, podrías quedarte fuera. Mantén una sesión abierta y verifica que la nueva configuración funciona antes de cerrar nada.
[INFO] Es recomendable que configures un firewall (como CSF o iptables) para permitir el tráfico en el nuevo puerto antes de cambiar la configuración de SSH. Si el firewall bloquea el nuevo puerto, no podrás conectarte ni siquiera con la configuración correcta.
[TIP] Si tienes acceso a un panel de control como Syspanel (el puerto de acceso es el 2106), puedes usarlo como respaldo para acceder a los archivos de configuración si algo falla. Aunque esta guía se centra en cPanel, tener un plan B siempre es buena idea.
Paso 1: Localizar y editar el archivo de configuración de SSH
El archivo de configuración principal de SSH se llama sshd_config y normalmente se encuentra en /etc/ssh/sshd_config. Para editarlo, necesitarás acceder a tu servidor por SSH (usando el puerto actual) y usar un editor de texto como nano o vi. Si no estás familiarizado con la terminal, no te preocupes, es más sencillo de lo que parece.
Conectarse al servidor por SSH
- Abre tu terminal o PuTTY.
- Conéctate a tu servidor usando el comando:
ssh usuario@tu-servidor.com -p 22(o el puerto que uses actualmente). - Introduce tu contraseña o clave SSH cuando te lo pida.
Editar el archivo de configuración
Una vez que estés dentro, ejecuta el siguiente comando para abrir el archivo con el editor nano:
nano /etc/ssh/sshd_config
Si prefieres usar vi, puedes usar vi /etc/ssh/sshd_config, pero nano es más amigable para principiantes.
Dentro del archivo, busca la línea que dice #Port 22 (o simplemente Port 22). Es posible que esté comentada con una almohadilla (#). Debes descomentarla (quitar la #) y cambiar el número por el puerto que quieras usar.
[TIP] Elige un puerto poco común pero fácil de recordar. Algunas opciones populares son: 2200, 2222, 8822, 9022, o incluso un número de 4 dígitos como 7822. Evita puertos que ya estén en uso por otros servicios (como 80 para HTTP, 443 para HTTPS, 21 para FTP, etc.).
Ejemplo de cómo debería quedar:
Port 2200
Guarda los cambios con Ctrl + O y luego sal del editor con Ctrl + X.
Paso 2: Configurar el firewall para permitir el nuevo puerto
Este paso es absolutamente crítico. Si no abres el nuevo puerto en tu firewall, te quedarás sin acceso a SSH. La mayoría de los servidores con cPanel utilizan un firewall como CSF (ConfigServer Security & Firewall) o iptables. Te explico cómo hacerlo en ambos casos.
Si usas CSF (el más común en cPanel)
- Accede a tu servidor por SSH (todavía con el puerto antiguo).
- Ejecuta el siguiente comando para abrir el puerto 2200 (o el que hayas elegido):
csf -a 2200
O también puedes editar el archivo de configuración de CSF:
nano /etc/csf/csf.conf
Busca la línea TCP_IN y añade el nuevo puerto a la lista. Debe quedar algo así:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2200"
Guarda los cambios y reinicia CSF con:
csf -r
Si usas iptables directamente
Ejecuta el siguiente comando para permitir el tráfico en el nuevo puerto:
iptables -A INPUT -p tcp --dport 2200 -j ACCEPT
Luego guarda las reglas con:
service iptables save
[WARNING] No olvides también cerrar el puerto 22 en el firewall una vez que hayas verificado que el nuevo puerto funciona. De lo contrario, el cambio no tendrá mucho sentido. Puedes hacerlo eliminando el puerto 22 de las reglas de entrada.
Paso 3: Reiniciar el servicio SSH
Una vez que hayas editado el archivo de configuración y abierto el puerto en el firewall, es hora de reiniciar el servicio SSH para que los cambios surtan efecto. Esto es sencillo, pero debes hacerlo con cuidado.
Ejecuta el siguiente comando:
service sshd restart
O si tu sistema usa systemd (lo más probable en distribuciones modernas):
systemctl restart sshd
[WARNING] No cierres tu sesión SSH actual todavía. Primero, abre una nueva ventana de terminal o una nueva sesión de PuTTY e intenta conectarte usando el nuevo puerto. Por ejemplo:
ssh usuario@tu-servidor.com -p 2200
Si la conexión es exitosa, ¡enhorabuena! Ya has cambiado el puerto SSH. Si no funciona, revisa los pasos anteriores: ¿el firewall está abierto? ¿El puerto en sshd_config es correcto? ¿Reiniciaste el servicio?
Paso 4: Desactivar el acceso al puerto antiguo
Una vez que hayas confirmado que puedes conectarte por el nuevo puerto, es el momento de cerrar el puerto 22 para evitar que los atacantes sigan intentando entrar por ahí. Esto es tan importante como el cambio en sí.
En CSF
Elimina el puerto 22 de la lista TCP_IN en /etc/csf/csf.conf y reinicia CSF:
csf -r
En iptables
Elimina la regla que permite el puerto 22:
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
Luego guarda las reglas con service iptables save.
[TIP] Si tienes servicios que dependen del puerto 22 (como algunas herramientas de sincronización), asegúrate de actualizar su configuración para que usen el nuevo puerto. Esto incluye clientes FTP con SFTP, scripts de backup, etc.
Medidas adicionales para proteger tu servidor cPanel
Cambiar el puerto SSH es un gran primer paso, pero no deberías detenerte ahí. La seguridad es un proceso continuo, y hay varias medidas complementarias que puedes implementar para proteger tu servidor de forma mucho más efectiva.
Deshabilitar el acceso root por contraseña
El usuario root es el objetivo número uno de los atacantes. Una de las mejores prácticas es deshabilitar el acceso root por contraseña y usar solo claves SSH. En sshd_config, busca la línea:
PermitRootLogin yes
Cámbiala a:
PermitRootLogin prohibit-password
O incluso no si usas un usuario con privilegios sudo.
Usar autenticación por clave pública
En lugar de contraseñas, configura claves SSH. Es más seguro y cómodo. Genera una clave en tu máquina local con ssh-keygen y copia la clave pública al servidor.
Implementar Fail2ban
Fail2ban es una herramienta que bloquea automáticamente las IPs que realizan demasiados intentos fallidos de conexión. Es muy fácil de instalar y configurar en cPanel.
Cambiar el puerto de Syspanel
Si usas Syspanel (recuerda que el puerto de acceso es el 2106), asegúrate de que también esté protegido con contraseñas fuertes y, si es posible, restringe el acceso por IP.
Preguntas frecuentes (FAQ) sobre cambiar el puerto SSH
¿Qué pasa si me olvido el nuevo puerto?
Si te olvidas el puerto que configuraste, puedes consultar el archivo sshd_config desde el panel de control de tu host o usando un acceso de emergencia como Syspanel (puerto 2106). También puedes revisar los logs de tu firewall para ver qué puertos están abiertos.
¿Afecta el cambio de puerto a mis sitios web o correos?
No, el cambio de puerto SSH solo afecta al servicio SSH. Tus sitios web, correos y otras aplicaciones seguirán funcionando con normalidad. Solo tendrás que actualizar la configuración de las herramientas que usan SSH (como clientes SFTP).
¿Es suficiente con cambiar el puerto para estar seguro?
No, cambiar el puerto SSH es solo una capa de seguridad. Debes combinarlo con otras medidas como claves SSH, Fail2ban, deshabilitar root, y mantener tu sistema actualizado. La seguridad es un conjunto de prácticas, no una solución única.
¿Puedo usar el mismo puerto para SSH y otro servicio?
No, cada servicio debe usar un puerto único. Si dos servicios intentan usar el mismo puerto, habrá conflicto y uno de ellos no funcionará.
¿Qué hago si me quedo bloqueado fuera del servidor?
Si te quedas bloqueado, la solución más rápida es acceder a tu panel de control (como cPanel o Syspanel en el puerto 2106) y revertir los cambios en el archivo sshd_config. También puedes pedir ayuda a tu proveedor de hosting, que suele tener acceso de emergencia al servidor.
Conclusión: un pequeño cambio, una gran diferencia
Cambiar el puerto SSH en cPanel es una tarea relativamente sencilla que puede marcar una gran diferencia en la seguridad de tu servidor. No solo reducirás los ataques automatizados, sino que también ganarás tranquilidad sabiendo que has tomado una medida proactiva para proteger tu infraestructura.
Recuerda siempre seguir los pasos con calma, verificar cada cambio y mantener una sesión de respaldo abierta mientras trabajas. La seguridad no es un destino, sino un viaje constante, y cada pequeña mejora cuenta.
[TIP] Si tienes dudas o te sientes inseguro, no dudes en contactar con el soporte de tu hosting. Ellos pueden guiarte en el proceso o incluso hacer el cambio por ti. Un servidor bien configurado es la base de un negocio en línea exitoso.
¡Espero que esta guía te haya sido de gran ayuda! Ahora ya sabes cómo cambiar el puerto SSH en cPanel y mejorar la seguridad de tu servidor. Si tienes más preguntas, deja un comentario y estaré encantado de ayudarte.
