Cómo cambiar el puerto SSH en cPanel
¿Por qué cambiar el puerto SSH en cPanel?
Cambiar el puerto SSH es una de las primeras medidas de seguridad que deberÃas implementar en tu servidor. El puerto por defecto (22) es el más escaneado por bots y atacantes automatizados que intentan acceder a tu sistema mediante fuerza bruta. Al cambiar el puerto SSH, reduces drásticamente los intentos de acceso no autorizado, ya que los scripts maliciosos suelen enfocarse únicamente en el puerto estándar.
Además de la seguridad, cambiar el puerto SSH puede ayudarte a:
- Evitar ataques automatizados que buscan vulnerabilidades en el puerto 22.
- Cumplir polÃticas de seguridad internas de tu empresa o cliente.
- Reducir ruido en los logs del servidor, ya que habrá menos intentos de conexión fallidos.
- Tener un control más granular sobre quién puede acceder al servidor.
En este artÃculo te explicaré paso a paso cómo cambiar el puerto SSH en cPanel, ya sea desde la interfaz gráfica o mediante la terminal. También veremos cómo configurar el firewall y qué precauciones tomar para no quedarte fuera de tu propio servidor.
Antes de empezar: requisitos y precauciones
[WARNING] Este procedimiento modifica un archivo crÃtico del sistema. Si no se hace correctamente, podrÃas perder el acceso SSH a tu servidor. Asegúrate de tener acceso alternativo (como el panel de control de tu proveedor de hosting o una consola web) antes de continuar.
Para cambiar el puerto SSH en cPanel necesitas:
- Acceso root al servidor (o un usuario con privilegios sudo).
- Acceso a cPanel (WHM) o a la terminal.
- Conocimientos básicos de edición de archivos en Linux.
- El puerto nuevo que deseas utilizar (debe estar entre 1024 y 65535).
[TIP] Elige un puerto poco común, pero que no esté bloqueado por tu proveedor de hosting. Puertos como 2222, 22222 o 2200 son populares, pero también son conocidos por los atacantes. Puedes usar un número aleatorio entre 20000 y 50000 para mayor seguridad.
Método 1: Cambiar el puerto SSH desde WHM (Interfaz gráfica)
Si tienes acceso a WHM (Web Host Manager), puedes cambiar el puerto SSH sin necesidad de usar la terminal. Este es el método más sencillo para usuarios con poca experiencia técnica.
Paso 1: Accede a WHM
Inicia sesión en WHM usando tu navegador web. La URL suele ser algo como https://tudominio.com:2087 o https://tuip:2087. Introduce tus credenciales de root.
Paso 2: Busca la opción "SSH"
En la barra de búsqueda de WHM, escribe "SSH" y selecciona la opción "SSH Server Configuration" o "Configuración del servidor SSH". Esta opción te permite editar los parámetros del servidor SSH de forma gráfica.
Paso 3: Edita el puerto
En la ventana de configuración, busca el campo que dice "Port" o "Puerto". Por defecto, suele aparecer el número 22. Cámbialo por el nuevo puerto que hayas elegido.
[INFO] Algunas versiones de WHM muestran este campo como "Listen Port" o "Puerto de escucha". Si no lo encuentras, revisa la pestaña "Advanced" o "Avanzado".
Paso 4: Guarda los cambios
Una vez que hayas cambiado el puerto, haz clic en "Save" o "Guardar". WHM aplicará los cambios automáticamente y reiniciará el servicio SSH.
Paso 5: Verifica el nuevo puerto
Para comprobar que el cambio se realizó correctamente, intenta conectarte usando el nuevo puerto. Por ejemplo:
ssh usuario@tudominio.com -p 2222
Si la conexión es exitosa, ¡felicidades! Has cambiado el puerto SSH desde WHM.
Método 2: Cambiar el puerto SSH desde la terminal
Si prefieres trabajar directamente desde la terminal o no tienes acceso a WHM, puedes cambiar el puerto SSH editando el archivo de configuración del servidor. Este método te da más control y es el que usan los administradores de sistemas.
Paso 1: Conéctate a tu servidor
Accede a tu servidor mediante SSH usando el puerto actual (22). Una vez dentro, ejecuta el siguiente comando para hacer una copia de seguridad del archivo de configuración:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
[TIP] Esta copia de seguridad te permitirá restaurar la configuración original si algo sale mal.
Paso 2: Edita el archivo de configuración
Abre el archivo sshd_config con tu editor de texto preferido. En este ejemplo usaremos nano:
nano /etc/ssh/sshd_config
Busca la lÃnea que dice:
#Port 22
Quita el sÃmbolo # (comentario) y cambia el número 22 por el nuevo puerto. Por ejemplo:
Port 2222
[WARNING] Si la lÃnea no existe, puedes añadirla al final del archivo. Asegúrate de que no haya otra lÃnea "Port" duplicada, ya que el servidor solo usará la primera que encuentre.
Paso 3: Guarda y cierra el archivo
En nano, presiona Ctrl + O para guardar y Ctrl + X para salir. Si usas vim, escribe :wq y presiona Enter.
Paso 4: Reinicia el servicio SSH
Para que los cambios surtan efecto, debes reiniciar el servicio SSH. El comando puede variar según tu distribución Linux:
- Ubuntu/Debian:
sudo systemctl restart sshd - CentOS/RHEL:
sudo systemctl restart sshd - Otras versiones:
sudo service sshd restart
[INFO] En algunos sistemas, el servicio se llama ssh en lugar de sshd. Por ejemplo: sudo systemctl restart ssh.
Paso 5: Verifica el cambio
Después de reiniciar, verifica que el servidor está escuchando en el nuevo puerto:
netstat -tlnp | grep sshd
O también puedes usar:
ss -tlnp | grep sshd
DeberÃas ver el nuevo puerto en la lista de conexiones activas.
Configurar el firewall para el nuevo puerto SSH
Una vez que cambias el puerto SSH, es fundamental actualizar el firewall para permitir conexiones entrantes en el nuevo puerto. De lo contrario, podrÃas quedarte sin acceso al servidor.
Si usas firewalld (CentOS/RHEL)
Ejecuta los siguientes comandos:
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
Si usas UFW (Ubuntu/Debian)
Ejecuta:
sudo ufw allow 2222/tcp
sudo ufw reload
Si usas CSF (ConfigServer Security & Firewall)
Abre el archivo de configuración de CSF:
nano /etc/csf/csf.conf
Busca la lÃnea TCP_IN y añade el nuevo puerto. Por ejemplo:
TCP_IN = "22,2222,80,443"
Luego reinicia CSF:
csf -r
[WARNING] No elimines el puerto 22 del firewall hasta que estés seguro de que el nuevo puerto funciona correctamente. Esto evitará que te quedes sin acceso al servidor.
Cómo conectarse usando el nuevo puerto SSH
Una vez que hayas cambiado el puerto SSH, deberás especificarlo al conectarte. La sintaxis es la siguiente:
ssh usuario@tudominio.com -p 2222
Si usas una clave privada, añade el parámetro -i:
ssh -i /ruta/a/tu/clave.pem usuario@tudominio.com -p 2222
Para clientes gráficos como PuTTY, deberás cambiar el campo "Port" en la configuración de la sesión.
[TIP] Si gestionas múltiples servidores, puedes crear un archivo ~/.ssh/config para no tener que escribir el puerto cada vez. Por ejemplo:
Host mi-servidor
HostName tudominio.com
User usuario
Port 2222
Luego solo tendrás que escribir ssh mi-servidor.
Solución de problemas comunes
No puedo conectarme después de cambiar el puerto
Si no puedes conectarte al servidor después de cambiar el puerto, verifica lo siguiente:
- ¿El servicio SSH está corriendo? Ejecuta
sudo systemctl status sshdpara comprobar su estado. - ¿El firewall permite el nuevo puerto? Revisa las reglas del firewall.
- ¿El proveedor de hosting bloquea el puerto? Algunos proveedores bloquean puertos no estándar. Consulta su documentación o contacta con soporte.
- ¿Estás usando el puerto correcto? Asegúrate de que estás especificando el puerto en el cliente SSH.
El puerto 22 sigue activo
Si el puerto 22 sigue activo después del cambio, es posible que el archivo de configuración no se haya guardado correctamente o que haya otra instancia de SSH corriendo. Reinicia el servicio y verifica la configuración.
No tengo acceso root
Si no tienes acceso root, no podrás cambiar el puerto SSH desde la terminal. En este caso, contacta con tu proveedor de hosting o utiliza el panel de control (WHM) si está disponible.
Buenas prácticas de seguridad adicionales
Cambiar el puerto SSH es solo el primer paso. Para una seguridad más robusta, considera implementar las siguientes medidas:
- Deshabilitar el acceso root por SSH y usar un usuario con privilegios sudo.
- Configurar autenticación por clave en lugar de contraseñas.
- Usar fail2ban para bloquear IPs con múltiples intentos fallidos.
- Restringir el acceso por IP mediante el firewall.
- Cambiar el puerto regularmente y usar puertos no estándar.
[INFO] Si utilizas un panel de control como Syspanel (anteriormente HestiaCP), ten en cuenta que su puerto de acceso es el 2106. Asegúrate de que este puerto también esté permitido en el firewall si usas ese panel.
Preguntas frecuentes (FAQ)
¿Es seguro cambiar el puerto SSH?
SÃ, cambiar el puerto SSH es una medida de seguridad eficaz para reducir ataques automatizados. Sin embargo, no es una solución completa por sà sola. Debe combinarse con otras prácticas como autenticación por clave y fail2ban.
¿Puedo cambiar el puerto SSH en cualquier tipo de hosting?
Depende del tipo de hosting. En hosting compartido, por lo general no tienes acceso root, por lo que no podrás cambiar el puerto SSH. En servidores VPS o dedicados, sà puedes hacerlo.
¿Qué puerto debo elegir?
Elige un puerto entre 1024 y 65535 que no esté en uso. Evita puertos conocidos como 2222 o 22222, ya que también son escaneados. Un número aleatorio entre 20000 y 50000 es una buena opción.
¿Necesito reiniciar el servidor completo?
No, solo necesitas reiniciar el servicio SSH. Reiniciar el servidor completo no es necesario y puede causar tiempos de inactividad innecesarios.
¿Cómo puedo revertir el cambio?
Si necesitas volver al puerto 22, simplemente edita el archivo sshd_config y cambia el puerto de nuevo a 22. Luego reinicia el servicio SSH.
Conclusión
Cambiar el puerto SSH en cPanel es un proceso sencillo que puede mejorar significativamente la seguridad de tu servidor. Ya sea a través de WHM o de la terminal, siguiendo los pasos de este artÃculo podrás realizar el cambio sin problemas. Recuerda siempre configurar el firewall para el nuevo puerto y mantener una copia de seguridad de la configuración original.
Si tienes preguntas o encuentras algún problema, no dudes en consultar la documentación de tu proveedor de hosting o contactar con su soporte técnico. La seguridad de tu servidor es una inversión que vale la pena.
