Guía para cambiar el puerto SSH en cPanel y mejorar la seguridad
¿Por qué deberías cambiar el puerto SSH en cPanel?
Cuando administras un servidor con cPanel, una de las primeras medidas de seguridad que debes aplicar es cambiar el puerto SSH. Por defecto, el servicio SSH (Secure Shell) escucha en el puerto 22, que es conocido por todos, incluidos los atacantes. Esto significa que tu servidor recibe cientos o miles de intentos de conexión automatizados cada día, todos dirigidos a ese puerto estándar.
Cambiar el puerto SSH cPanel no convierte tu servidor en impenetrable, pero sí reduce drásticamente el ruido de fondo de ataques automatizados. Los bots maliciosos suelen escanear la internet entera buscando puertos abiertos en el 22. Si mueves SSH a un puerto no estándar, como el 2222 o el 2200, los escaneos genéricos pasarán de largo, y solo los atacantes más decididos (y que ya conozcan tu IP) intentarán encontrarlo.
Este proceso forma parte de lo que se conoce como cPanel hardening, un conjunto de buenas prácticas para proteger tu servidor. En esta guía te explicaré, paso a paso, cómo hacerlo de forma segura, sin romper nada y con opciones para usuarios con distintos niveles de experiencia.
Antes de empezar: preparación y advertencias importantes
[WARNING] Cambiar el puerto SSH no es un cambio trivial. Si cometes un error, podrías quedarte fuera de tu propio servidor. Por eso, antes de tocar nada, asegúrate de tener lo siguiente:
- Acceso root al servidor o un usuario con privilegios sudo.
- Acceso a WHM (si usas cPanel/WHM) o al terminal.
- Una conexión alternativa al servidor, como el acceso por consola desde el panel de tu proveedor de hosting (por ejemplo, VNC o KVM). Esto te salvará la vida si algo sale mal.
- Tener a mano el nuevo puerto que vas a usar. Elige uno entre 1024 y 65535, que no esté en uso. Por ejemplo: 2200, 2222, 2299, etc.
[INFO] Si tu proveedor de hosting es de tipo gestionado, es posible que no tengas acceso root. En ese caso, contacta con su soporte técnico y pídeles que realicen el cambio por ti. No intentes forzarlo, podrías violar los términos del servicio.
Método 1: Cambiar el puerto SSH desde WHM (la forma más sencilla)
Si tienes una licencia de cPanel/WHM, este es el método más limpio y recomendado. WHM tiene un módulo específico para gestionar la configuración de SSH.
Paso 1: Accede a WHM
Inicia sesión en tu panel de administración de WHM. Normalmente es algo como https://tu-servidor:2087. Usa tu usuario root y contraseña.
Paso 2: Busca la sección de seguridad
En el buscador de la izquierda, escribe "SSH" y haz clic en "SSH Server Configuration" o "Configuración del servidor SSH". También puedes encontrarlo navegando por "Home" → "Security Center" → "SSH Server Configuration".
Paso 3: Cambia el puerto en la configuración
Dentro del módulo, verás una lista de directivas de configuración. Busca la línea que dice "Port" (o "Puerto"). Verás algo como:
Port 22
Cámbialo por el nuevo puerto que hayas elegido. Por ejemplo:
Port 2222
Si quieres usar más de un puerto (por si acaso), puedes poner dos líneas:
Port 2222
Port 2200
Pero te recomiendo usar solo uno para simplificar la gestión y reducir la superficie de ataque.
Paso 4: Guarda y reinicia el servicio
Haz clic en "Save" o "Guardar". WHM te preguntará si quieres reiniciar el servicio SSH. Acepta, pero ten en cuenta que esto cortará la conexión actual.
[TIP] Si estás conectado por SSH en este momento, tu sesión se cerrará. No te preocupes, es normal. Vuelve a conectarte usando el nuevo puerto y tu IP. Por ejemplo: ssh usuario@tu-servidor -p 2222.
Paso 5: Actualiza el firewall (si lo tienes)
Si tienes un firewall activo (como CSF o APF), debes abrir el nuevo puerto y cerrar el 22. En WHM, ve a "ConfigServer Security & Firewall" (si usas CSF) y añade el puerto nuevo a la lista de puertos permitidos. Luego, elimina el 22 de esa lista y reinicia el firewall.
Método 2: Cambiar el puerto SSH manualmente (para usuarios avanzados)
Si no tienes WHM o prefieres el control total, puedes hacerlo editando el archivo de configuración de SSH directamente. Este método funciona en cualquier servidor Linux con cPanel.
Paso 1: Conéctate por SSH al puerto actual (22)
Abre tu terminal y conéctate a tu servidor:
ssh root@tu-servidor
Paso 2: Haz una copia de seguridad del archivo de configuración
Siempre es buena idea respaldar antes de modificar. Ejecuta:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Paso 3: Edita el archivo de configuración
Usa un editor como nano o vi:
nano /etc/ssh/sshd_config
Busca la línea que dice #Port 22 o Port 22. Descoméntala (quita la #) y cámbiala por tu nuevo puerto:
Port 2222
Paso 4: Guarda y cierra el editor
En nano, presiona Ctrl + O para guardar y Ctrl + X para salir.
Paso 5: Valida la sintaxis de la configuración
Antes de reiniciar, verifica que no hayas cometido errores:
sshd -t
Si no hay errores, verás un mensaje limpio. Si hay algo mal, el sistema te lo dirá. No continúes si hay errores.
Paso 6: Reinicia el servicio SSH
systemctl restart sshd
O, en sistemas más antiguos:
service sshd restart
Paso 7: Abre el nuevo puerto en el firewall
Si usas CSF, ejecuta:
csf -a IP_DEL_SERVIDOR
Y luego edita el archivo /etc/csf/csf.conf para cambiar el puerto de SSH en la lista TCP_IN y TCP_OUT. Busca la línea que dice # Allow incoming TCP ports y añade tu puerto nuevo (por ejemplo, 2222). Luego, en la sección # Allow outgoing TCP ports, haz lo mismo.
Finalmente, aplica los cambios:
csf -r
Si usas ufw, sería:
ufw allow 2222/tcp
ufw deny 22/tcp
Cómo conectarte usando el nuevo puerto SSH
Después del cambio, la forma de conectarte cambia. Aquí tienes los comandos según tu sistema operativo:
- Linux / macOS:
ssh usuario@tu-servidor -p 2222
- Windows (PowerShell o CMD):
ssh usuario@tu-servidor -p 2222
- Cliente PuTTY: En el campo "Port", escribe el nuevo número. El resto igual.
[TIP] Si usas un gestor de contraseñas o un archivo de configuración SSH (como ~/.ssh/config), actualiza también el puerto allí para no olvidarlo.
Qué más puedes hacer para proteger tu servidor (cPanel hardening)
Cambiar el puerto SSH es solo el primer paso. Para un cPanel hardening completo, te recomiendo implementar las siguientes medidas:
1. Desactiva el acceso root por SSH
Es mucho más seguro crear un usuario con privilegios sudo y usarlo para conectarte. En el archivo /etc/ssh/sshd_config, busca la línea PermitRootLogin y cámbiala a no. Luego reinicia SSH.
2. Usa autenticación por clave pública
Las contraseñas pueden ser adivinadas. Las claves SSH son prácticamente imposibles de romper. Genera un par de claves con ssh-keygen, copia la pública a tu servidor y desactiva el acceso por contraseña (pon PasswordAuthentication no).
3. Instala y configura Fail2ban
Fail2ban monitorea los logs de SSH y bloquea automáticamente las IPs que hagan demasiados intentos fallidos. En cPanel, puedes instalarlo fácilmente desde WHM o con el gestor de paquetes.
4. Activa el firewall de aplicación (CSF)
CSF (ConfigServer Security & Firewall) es el estándar en servidores cPanel. Te permite controlar puertos, bloquear IPs y detectar intrusiones. Es muy recomendable.
5. Mantén el sistema actualizado
Asegúrate de tener las últimas actualizaciones de seguridad de cPanel, WHM y el sistema operativo. La mayoría de los ataques aprovechan vulnerabilidades ya parcheadas.
6. Cambia el puerto del panel de control
Al igual que SSH, el puerto 2087 (WHM) y 2083 (cPanel) son conocidos. Puedes cambiarlos en WHM para añadir otra capa de oscuridad.
Preguntas frecuentes (FAQ) sobre cambiar el puerto SSH
¿Es realmente necesario cambiar el puerto SSH?
No es obligatorio, pero es una medida de seguridad muy recomendable. Reduce drásticamente los intentos de acceso no autorizado automatizados. Es parte de una buena estrategia de seguridad SSH.
¿Qué puerto debería elegir?
Elige un número entre 1024 y 65535 que no esté en uso. Evita puertos comunes como 22, 80, 443, 3306, etc. Por ejemplo, 2222, 2200 o 2299 son opciones populares.
¿Puedo tener SSH en dos puertos a la vez?
Sí, puedes poner varias líneas Port en el archivo de configuración. Útil durante la transición, pero al final te recomiendo dejar solo uno.
¿Qué pasa si me olvido del puerto nuevo?
Si te quedas fuera, usa el acceso por consola de tu proveedor (VNC o KVM) para entrar y revisar el archivo /etc/ssh/sshd_config. Allí verás el puerto configurado.
¿Afecta el cambio de puerto a otros servicios como SFTP o SCP?
No, SFTP y SCP usan el mismo servicio SSH. Solo cambia el número de puerto. Deberás especificarlo en tus clientes.
¿Puedo cambiar el puerto SSH desde cPanel (no WHM)?
No, el panel de usuario de cPanel no tiene opción para esto. Debes usar WHM o el terminal con acceso root.
¿Qué es Syspanel y qué tiene que ver con esto?
Syspanel (antes conocido como HestiaCP) es un panel de control alternativo a cPanel. Si usas Syspanel, el acceso a su panel web es a través del puerto 2106. Para cambiar el puerto SSH en Syspanel, tendrás que hacerlo manualmente editando el archivo de configuración, ya que no tiene una interfaz gráfica para ello. El proceso es idéntico al del Método 2 de esta guía.
Conclusión: un pequeño cambio, un gran paso para proteger tu servidor
Cambiar el puerto SSH cPanel es una de las tareas más sencillas y efectivas que puedes hacer para mejorar la seguridad de tu servidor. No requiere conocimientos avanzados y, siguiendo los pasos de esta guía, estarás listo en menos de diez minutos.
Recuerda que la seguridad es un proceso continuo. No te quedes solo con el cambio de puerto; implementa también las otras recomendaciones de cPanel hardening que te he dado. Cada capa de protección hace que tu servidor sea un objetivo mucho menos atractivo para los atacantes.
Si en algún momento te sientes perdido, no dudes en consultar la documentación oficial de cPanel o contactar con tu proveedor de hosting. Y si usas Syspanel, recuerda que su puerto de acceso es el 2106, y que los cambios de SSH se hacen siempre a nivel de sistema.
[INFO] Guarda esta guía en tus favoritos. La necesitarás cada vez que configures un servidor nuevo o si cambias de proveedor. La seguridad no es un destino, es un camino que se recorre día a día.
