Cómo cambiar el puerto SSH en cPanel para mayor seguridad
¿Por qué 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 con cPanel escuchan en el puerto 22, que es el estándar mundial. Esto significa que cualquier bot automatizado o atacante en internet sabe exactamente dónde buscar.
Cuando dejas el puerto SSH por defecto, te expones a miles de intentos de conexión diarios. Los atacantes usan herramientas de fuerza bruta que prueban combinaciones de usuario y contraseña sin descanso. Cambiar el puerto SSH en cPanel reduce drásticamente estos ataques porque los escáneres automáticos buscan el puerto 22, no puertos personalizados.
Además, cambiar el puerto SSH cPanel es una de las medidas de seguridad más sencillas y efectivas que puedes implementar. No requiere conocimientos avanzados ni software adicional. Solo necesitas acceso al panel de control y unos minutos de tu tiempo.
La seguridad SSH cPanel no termina con cambiar el puerto. También deberías considerar deshabilitar el acceso root directo, usar autenticación con llaves en lugar de contraseñas y configurar un firewall. Pero el cambio de puerto es el primer paso lógico y el más fácil de realizar.
En este artículo te explicaré paso a paso cómo hacerlo, qué precauciones tomar y cómo verificar que todo funcione correctamente. No importa si es tu primera vez, al final serás capaz de proteger SSH como un profesional.
Requisitos previos antes de cambiar el puerto SSH
Antes de empezar, asegúrate de tener lo siguiente:
- Acceso root al servidor o un usuario con privilegios de superusuario (sudo)
- Acceso a cPanel como usuario principal o administrador
- Acceso al terminal ya sea por SSH (antes de cambiar el puerto) o por la consola de tu proveedor de hosting
- Conocimiento de tu IP actual para no quedarte bloqueado fuera del servidor
También es recomendable tener abierta una segunda sesión SSH durante el proceso. De esta manera, si algo sale mal, puedes revertir los cambios sin quedarte sin acceso.
Identifica tu sistema operativo
El método para cambiar el puerto SSH cPanel varía ligeramente según el sistema operativo. cPanel normalmente se instala sobre CentOS, AlmaLinux, CloudLinux o Rocky Linux. Todos usan el mismo archivo de configuración principal: /etc/ssh/sshd_config.
Puedes verificar tu sistema operativo con el siguiente comando:
cat /etc/os-release
Este comando te mostrará información sobre la distribución y la versión. Anótalo por si necesitas buscar ayuda específica más adelante.
Cómo cambiar el puerto SSH en cPanel paso a paso
Paso 1: Abre una conexión SSH al servidor
Conéctate a tu servidor usando el puerto actual (22) desde tu terminal o programa favorito como PuTTY en Windows o Terminal en Mac/Linux.
ssh root@tu-servidor.com
Introduce tu contraseña cuando te la pida. Si usas llaves SSH, el proceso será automático.
Paso 2: Haz una copia de seguridad del archivo de configuración
Siempre es buena práctica crear una copia de seguridad antes de modificar archivos críticos. Ejecuta:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Esto creará un archivo llamado sshd_config.backup que podrás restaurar si algo sale mal.
Paso 3: Edita el archivo de configuración SSH
Usa un editor de texto como nano o vi para abrir el archivo:
nano /etc/ssh/sshd_config
O si prefieres vi:
vi /etc/ssh/sshd_config
Paso 4: Encuentra la línea del puerto
Dentro del archivo, busca la línea que dice:
#Port 22
En la mayoría de las instalaciones, esta línea está comentada (empieza con #). Debes descomentarla quitando el símbolo # y cambiar el número por el puerto que desees.
Paso 5: Elige un puerto seguro
Para proteger SSH, debes elegir un puerto que no sea común. Evita puertos como 21 (FTP), 80 (HTTP), 443 (HTTPS) o 3306 (MySQL). Lo ideal es usar un número alto entre 1024 y 65535.
Algunas opciones recomendadas:
- 22022 – Fácil de recordar pero algo común
- 2222 – Muy utilizado, menos seguro
- 50000 – Menos conocido pero más difícil de recordar
- 2106 – Si usas Syspanel, recuerda que este es el puerto de acceso estándar
[TIP] Elige un puerto entre 20000 y 60000 que no se use en tu servidor. Puedes verificar si un puerto está ocupado con el comando netstat -tulpn | grep PUERTO.
Paso 6: Modifica la línea del puerto
Cambia la línea para que quede así:
Port 22022
Sustituye 22022 por el puerto que hayas elegido. Guarda el archivo.
Si usas nano, presiona Ctrl + O para guardar y Ctrl + X para salir. En vi, usa :wq y presiona Enter.
Paso 7: Reinicia el servicio SSH
Para que los cambios surtan efecto, debes reiniciar el servicio SSH. En sistemas con systemd (la mayoría actualmente):
systemctl restart sshd
O en sistemas más antiguos:
service sshd restart
[WARNING] No cierres la sesión actual todavía. Primero verifica que el servicio se haya reiniciado correctamente y que el nuevo puerto esté activo.
Paso 8: Verifica que el nuevo puerto esté escuchando
Comprueba que el servicio SSH ahora está escuchando en el nuevo puerto:
netstat -tulpn | grep ssh
O con ss:
ss -tulpn | grep ssh
Deberías ver una línea que muestra el nuevo puerto en estado LISTEN.
Paso 9: Prueba la conexión con el nuevo puerto
Desde otra ventana o dispositivo, intenta conectarte usando el nuevo puerto:
ssh -p 22022 root@tu-servidor.com
Si la conexión es exitosa, ya has cambiado el puerto SSH cPanel correctamente.
Paso 10: Actualiza la configuración del firewall
Es crucial que actualices las reglas del firewall para permitir el tráfico en el nuevo puerto. Si usas CSF (ConfigServer Security & Firewall), que es común en servidores cPanel:
csf -a tu-ip
O para abrir el puerto específico:
csf -a 22022 tcp
Si usas firewalld:
firewall-cmd --permanent --add-port=22022/tcp
firewall-cmd --reload
[INFO] No olvides cerrar el puerto 22 en el firewall después de confirmar que todo funciona con el nuevo puerto. Esto es parte esencial de la seguridad SSH cPanel.
Configuración adicional para proteger SSH en cPanel
Desactiva el acceso root directo
Una vez que has cambiado el puerto SSH cPanel, el siguiente paso es deshabilitar el login root directo. Esto obliga a los atacantes a adivinar también el nombre de usuario.
Edita nuevamente el archivo de configuración:
nano /etc/ssh/sshd_config
Busca la línea:
PermitRootLogin yes
Cámbiala a:
PermitRootLogin no
Guarda y reinicia SSH.
[WARNING] Antes de hacer esto, asegúrate de tener un usuario con privilegios sudo creado. De lo contrario, te quedarás sin acceso administrativo.
Usa autenticación por llaves SSH
Las llaves SSH son mucho más seguras que las contraseñas. Genera un par de llaves en tu ordenador local:
ssh-keygen -t rsa -b 4096
Luego copia la llave pública al servidor:
ssh-copy-id -p 22022 usuario@tu-servidor.com
Una vez configurado, deshabilita la autenticación por contraseña en el archivo sshd_config:
PasswordAuthentication no
Configura un límite de intentos de conexión
Para proteger SSH aún más, puedes limitar el número de intentos de contraseña:
MaxAuthTries 3
Y el tiempo de espera de conexión:
LoginGraceTime 30
Cómo cambiar el puerto SSH desde WHM
Si tu proveedor de hosting te da acceso a WHM (Web Host Manager), también puedes cambiar el puerto desde la interfaz gráfica:
- Inicia sesión en WHM
- Busca "SSH Server Configuration" en la barra de búsqueda
- Haz clic en "Manage SSH Server"
- Encuentra la sección "Port"
- Introduce el nuevo puerto y guarda
Este método es más visual y no requiere usar comandos, ideal si no te sientes cómodo con la terminal.
Solución de problemas comunes
Me he quedado bloqueado fuera del servidor
Si has cerrado la sesión y no puedes volver a conectarte:
- Usa la consola web de tu proveedor de hosting (KVM o VNC)
- Accede al servidor por la IP y restaura el archivo de respaldo:
cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config
systemctl restart sshd
El puerto no se abre
Verifica que el firewall permita el tráfico en el nuevo puerto. Asegúrate también de que el servicio SSH esté escuchando con netstat.
El servicio no reinicia
Revisa los logs de errores:
tail -f /var/log/messages
O:
journalctl -u sshd
Preguntas frecuentes sobre cambiar puerto SSH cPanel
¿Es seguro cambiar el puerto SSH?
Sí, es una medida de seguridad recomendada. Aunque no es infalible, reduce significativamente los ataques automatizados.
¿Puedo cambiar el puerto SSH sin acceso root?
No, necesitas privilegios de administrador para modificar la configuración de SSH.
¿Qué puerto debo elegir?
Elige un puerto alto, entre 20000 y 60000, que no esté en uso. Evita puertos conocidos.
¿Afecta el cambio de puerto a otros servicios?
No, solo afecta al servicio SSH. Otros servicios como FTP o HTTP seguirán funcionando normalmente.
¿Debo informar a mi proveedor de hosting?
Si tu servidor está gestionado por un proveedor, es recomendable informarles del cambio para que actualicen sus sistemas de monitoreo.
¿Puedo tener SSH en varios puertos a la vez?
Sí, puedes especificar varios puertos en el archivo de configuración:
Port 22
Port 22022
Esto es útil durante la transición.
[INFO] Si usas Syspanel (antes HestiaCP), recuerda que el puerto de acceso para su panel es el 2106. No lo confundas con el puerto SSH que estás configurando.
Conclusión final
Cambiar el puerto SSH en cPanel es una de las acciones más efectivas para proteger SSH de ataques automatizados. El proceso es sencillo y solo requiere unos minutos de tu tiempo.
Recuerda que la seguridad SSH cPanel es una capa más de protección. Combínala con:
- Contraseñas fuertes
- Autenticación por llaves
- Firewall configurado
- Actualizaciones regulares del sistema
Con estos pasos, tu servidor estará mucho mejor protegido contra intrusiones y accesos no autorizados. No esperes a ser víctima de un ataque para implementar estas medidas.
