Cómo cambiar el puerto SSH en cPanel de forma segura
¿Sabías que dejar el puerto SSH por defecto (el 22) es como dejar la llave puesta en la cerradura de tu casa? Es la primera puerta que un atacante intentará forzar. Cambiar este puerto es una de las medidas de seguridad más efectivas y sencillas que puedes aplicar en tu servidor. En esta guía, paso a paso y sin tecnicismos, te voy a enseñar a cambiar el puerto SSH en cPanel de forma segura, además de darte trucos para blindar el acceso y evitar sustos. Vamos a ello.
¿Por qué es tan importante cambiar el puerto SSH?
Imagina que tu servidor es un edificio de oficinas. El puerto 22 es la entrada principal, y está marcada con un letrero gigante que dice "ENTRADA". Cualquiera que pase por la calle (es decir, cualquier bot en internet) sabe que ahí hay una puerta e intentará abrirla con llaves maestras (ataques de fuerza bruta). Al cambiar el puerto SSH, estás moviendo la entrada a una puerta lateral sin letrero. Los atacantes automáticos seguirán llamando a la puerta principal vacía, mientras tú entras tranquilamente por la puerta secreta.
Esto no es infalible (un atacante determinado puede escanear todos los puertos), pero reduce drásticamente el ruido y los intentos de acceso no autorizado. Es la primera capa de tu estrategia de seguridad SSH.
Antes de empezar: Preparación y requisitos
Antes de tocar nada, respira. Este proceso es reversible y sencillo, pero requiere precisión. Un error aquí puede dejarte fuera de tu propio servidor. Por eso, sigue esta checklist:
- Acceso root o sudo: Necesitas permisos de administrador. En la mayoría de VPS, es el usuario
root. - cPanel con acceso Shell: Aunque el título dice "en cPanel", el cambio se hace a nivel de sistema operativo (Linux). Necesitarás acceder a la terminal. Puedes hacerlo por SSH (con el puerto actual) o desde el "Terminal" que trae cPanel dentro del menú "Avanzado".
- Cliente SSH: Un programa como PuTTY (Windows) o la terminal integrada (Mac/Linux) para conectarte.
- Número de puerto elegido: Elige uno alto, entre 1024 y 65535. Evita puertos que usen otros servicios (80 para web, 443 para SSL, 3306 para MySQL). Un buen ejemplo es el
2222, pero no es el único. Elige uno que no uses. - [WARNING] No cierres la sesión actual: Mientras haces el cambio, mantén una sesión SSH abierta. Si algo falla, podrás revertir los cambios desde esa sesión activa.
Paso 1: Acceder al servidor y localizar el archivo de configuración
Conecta por SSH a tu servidor usando el puerto actual (22) o el Terminal de cPanel. Una vez dentro, vamos a editar el archivo de configuración del demonio SSH.
Este archivo se llama sshd_config y normalmente está en /etc/ssh/.
Para editarlo, usaremos el editor nano, que es el más fácil para principiantes. Escribe este comando y presiona Enter:
nano /etc/ssh/sshd_config
[TIP] Si no tienes nano, usa vi o vim, pero nano es más intuitivo. Si te da error, instálalo con apt install nano (Debian/Ubuntu) o yum install nano (CentOS).
Paso 2: Modificar la directiva 'Port'
Dentro del archivo, verás muchas líneas de configuración. Busca la línea que dice #Port 22 o Port 22. La # al principio significa que la línea está comentada (inactiva).
- Borra la
#si existe, para activar la línea. - Cambia el número
22por el puerto que hayas elegido. Por ejemplo, para usar el 2222, la línea debe quedar así:
Port 2222
[INFO] Puedes especificar varios puertos añadiendo varias líneas Port, pero para simplificar, usa solo uno.
Guarda los cambios en nano presionando Ctrl + O (la letra O, no el cero) y luego presiona Enter para confirmar. Después, sal del editor con Ctrl + X.
Paso 3: Ajustar el firewall (IMPORTANTÍSIMO)
Este es el paso que la mayoría olvida y el que causa los bloqueos. Si tienes un firewall activo (como firewalld o ufw), debes permitir el tráfico en el nuevo puerto antes de reiniciar el servicio SSH. Si no lo haces, te quedarás fuera.
Dependiendo de tu sistema, usa uno de estos comandos. Si no sabes cuál es, prueba a ver cuál está activo.
Si usas UFW (Ubuntu/Debian):
sudo ufw allow 2222/tcp
Si usas firewalld (CentOS/RHEL):
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
Si usas cPanel, además del firewall del sistema, tienes el ConfigServer Security & Firewall (CSF). Este es el más común en servidores con cPanel. Debes editar su configuración:
nano /etc/csf/csf.conf
Busca la línea TCP_IN y añade tu nuevo puerto a la lista. Por ejemplo, si tienes TCP_IN = "22, 80, 443", cámbiala a TCP_IN = "22, 2222, 80, 443". Guarda y luego aplica los cambios con:
csf -r
[WARNING] No elimines el puerto 22 del firewall todavía. Lo dejaremos por si acaso hasta que confirmemos que el nuevo puerto funciona. Después, podrás quitarlo.
Paso 4: Reiniciar el servicio SSH (con cuidado)
Ahora viene el momento de la verdad. Debes reiniciar el servicio SSH para que los cambios surtan efecto. No cierres la sesión actual. Ejecuta este comando:
systemctl restart sshd
O si tu sistema es más antiguo:
service sshd restart
Verás que el comando se ejecuta y vuelves al prompt. Espera unos segundos.
Paso 5: Probar la nueva conexión (el momento crítico)
NO CIERRES LA SESIÓN ACTUAL. Abre una nueva ventana de terminal o una nueva sesión de PuTTY e intenta conectar a tu servidor, pero ahora especificando el nuevo puerto.
En Linux/Mac:
ssh -p 2222 usuario@tudominio.com
En PuTTY (Windows): Simplemente cambia el campo "Port" a 2222 y haz clic en "Open".
Si la conexión es exitosa, ¡enhorabuena! Ya has cambiado el puerto. Ahora puedes cerrar la sesión antigua.
Si la conexión falla, tienes un problema. Vuelve a la sesión antigua que sigue abierta y revisa los pasos:
- ¿Añadiste el puerto al firewall?
- ¿Reiniciaste el firewall?
- ¿Guardaste el archivo
sshd_configcorrectamente?
Si todo falla, puedes revertir el cambio volviendo a poner Port 22 y reiniciando el servicio.
[WARNING] Si por alguna razón pierdes la sesión actual y no puedes conectarte, deberás usar el panel de control de tu proveedor de VPS (como Vultr, DigitalOcean o Linode) y usar su consola web (VNC) para entrar y revertir los cambios.
Paso 6: Eliminar el puerto antiguo y asegurar el acceso
Una vez que confirmes que el nuevo puerto funciona, es hora de limpiar.
- Elimina el puerto 22 del firewall (CSF, UFW o firewalld) para cerrar la puerta principal.
- En el archivo
sshd_config, puedes comentar la líneaPort 22añadiendo#al principio, o borrarla directamente. Solo debe quedar tu nuevo puerto. - Reinicia SSH de nuevo.
Medidas extra para proteger tu acceso SSH
Cambiar el puerto es solo el principio. Para una protección de acceso SSH de nivel experto, te recomiendo combinar estas técnicas:
Usa autenticación con llaves SSH (en lugar de contraseña)
Es la medida más segura. Es como tener una llave de alta seguridad que es casi imposible de copiar. Te explico cómo activarla:
- En tu PC, genera un par de llaves (pública y privada) con
ssh-keygen -t rsa -b 4096. - Copia la llave pública al servidor con
ssh-copy-id -p 2222 usuario@tudominio.com. - Ahora, en el servidor, edita
/etc/ssh/sshd_configy cambia la líneaPasswordAuthentication yesaPasswordAuthentication no. - Reinicia SSH. A partir de ahora, solo podrás entrar con tu llave privada.
Desactiva el acceso root directamente
Es más seguro entrar con un usuario normal y luego usar sudo para tareas de administración. En el archivo sshd_config, busca PermitRootLogin y cámbialo a no.
Instala un fail2ban
Esta herramienta es un "portero" automático. Si alguien intenta entrar varias veces con contraseñas incorrectas, lo bloquea automáticamente. Se instala fácilmente en cPanel y es muy efectivo.
Configura un firewall a nivel de aplicación
Aunque ya mencionamos CSF, asegúrate de que tengas reglas para limitar el número de conexiones por IP en tu puerto SSH personalizado. Esto evita ataques de fuerza bruta.
Preguntas frecuentes (FAQ)
¿Qué pasa si tengo Syspanel (HestiaCP)?
Si tu panel de control es Syspanel (antes conocido como HestiaCP), el proceso de cambiar el puerto SSH es exactamente el mismo, ya que se hace a nivel de sistema operativo. La única diferencia es que en Syspanel, el acceso a su panel de control se realiza por el puerto 2106 (no confundir con el puerto SSH). El panel de control no interfiere en la configuración del demonio SSH.
¿Es necesario usar el puerto 2222?
No. El 2222 es un ejemplo común, pero no es obligatorio. Puedes usar cualquier puerto alto que no esté en uso. Es más, usar un puerto menos común (como el 45678) puede ser ligeramente más seguro porque es menos conocido.
¿Puedo tener dos puertos SSH a la vez?
Sí, puedes tener varios puertos abiertos. Simplemente añade varias líneas Port en el archivo de configuración. Esto es útil para tener un puerto de respaldo.
¿Qué hago si me olvido el puerto nuevo?
Puedes comprobarlo en el archivo sshd_config desde el Terminal de cPanel (si tienes acceso) o desde la consola web de tu proveedor. Busca la línea Port.
¿Esto afecta a mi sitio web?
No. El puerto SSH es solo para acceso remoto a la terminal. No afecta al tráfico web (puertos 80 y 443). Tu sitio web seguirá funcionando con normalidad.
¿Es necesario reiniciar el servidor?
No, solo reiniciar el servicio SSH. Un reinicio del servidor no es necesario y no recomendamos hacerlo solo para esto.
¿Y si uso un cliente FTP como FileZilla? ¿También debo cambiar el puerto?
No. El FTP (SFTP) es un servicio diferente al SSH, aunque a veces use el puerto 22. Si solo usas SFTP para subir archivos, cambiar el puerto SSH puede afectar a tu cliente FTP si está configurado para usar el puerto 22. Deberás actualizar la configuración de FileZilla o similar para que use el nuevo puerto.
[TIP] Anota el nuevo puerto en un lugar seguro. Si usas un gestor de contraseñas, guárdalo junto con tus credenciales del servidor.
Conclusión
Cambiar el puerto SSH en cPanel es un proceso de 5 minutos que aumenta exponencialmente la seguridad de tu servidor. Al hacerlo, evitas el 99% de los ataques automatizados de fuerza bruta que buscan entrar por el puerto estándar. Recuerda que la seguridad es un proceso, no un destino. Combina este cambio con la autenticación por llaves y un firewall bien configurado para tener una fortaleza digital inquebrantable.
Ahora que sabes cómo hacerlo, te animo a que lo pongas en práctica. No esperes a que sea demasiado tarde. La seguridad de tu proyecto digital está en tus manos.
