🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo cambiar el puerto SSH en Linux (seguridad para servidores con cPanel/Plesk)

Actualizado el 15 de mayo de 2026

¿Por qué deberías cambiar el puerto SSH en tu servidor?

El protocolo SSH (Secure Shell) es la puerta de entrada principal a tu servidor Linux. Por defecto, todos los servidores escuchan en el puerto 22, lo que los convierte en un objetivo constante para ataques automatizados de fuerza bruta y escaneos de bots maliciosos. Cada minuto, millones de intentos de acceso no autorizado golpean los puertos estándar de Internet.

Cambiar el puerto SSH es una de las medidas de seguridad más simples y efectivas que puedes implementar. No es una solución mágica, pero sí reduce drásticamente el ruido de ataques automatizados, ya que los bots suelen escanear únicamente los puertos por defecto. Si tu servidor usa cPanel o Plesk, el proceso tiene particularidades que debes conocer para no romper la configuración del panel.

Este artículo te guiará paso a paso, con un lenguaje claro y sin tecnicismos innecesarios, para que puedas cambiar puerto ssh de forma segura, tanto en servidores con cPanel como con Plesk. Al final, también te explicaré cómo configurar tu firewall y qué hacer si algo sale mal.


Antes de empezar: preparativos esenciales

Antes de tocar cualquier archivo de configuración, necesitas asegurarte de tener acceso de superusuario (root) o un usuario con privilegios sudo. También es imprescindible tener una segunda sesión SSH abierta o un método de acceso alternativo (como el panel de control de tu proveedor de hosting) por si cometes un error y bloqueas tu acceso.

[WARNING] Nunca cierres tu única sesión SSH mientras editas la configuración. Mantén al menos una ventana de terminal abierta y conectada. Si algo sale mal, podrás revertir los cambios desde esa sesión.

Además, verifica cuál es el sistema operativo de tu servidor. Los comandos de este tutorial funcionan en las distribuciones más comunes: CentOS, AlmaLinux, Rocky Linux, Ubuntu y Debian. Si usas un sistema operativo diferente, los comandos de gestión de servicios pueden variar ligeramente.


Cómo cambiar el puerto SSH en un servidor Linux genérico

El archivo de configuración principal de SSH se encuentra en /etc/ssh/sshd_config. Este archivo controla el puerto, la autenticación, los permisos de acceso y muchas otras opciones.

Paso 1: Localizar y editar el archivo de configuración

Abre el archivo con tu editor de texto favorito. Usaremos nano por ser el más amigable para principiantes:

sudo nano /etc/ssh/sshd_config

Busca la línea que dice #Port 22. El símbolo # indica que la línea está comentada, es decir, que usa el valor por defecto. Debes eliminar el # y cambiar el número por el puerto que desees. Por ejemplo, si quieres usar el puerto 2222:

Port 2222

[TIP] Elige un número de puerto poco común entre 1024 y 65535. Evita puertos que ya usa tu servidor como el 80 (HTTP), 443 (HTTPS) o 3306 (MySQL). Puedes consultar los puertos en uso con el comando sudo netstat -tulpn.

Paso 2: Aplicar los cambios

Guarda el archivo (en nano, Ctrl+O y luego Enter, y para salir Ctrl+X). Ahora necesitas reiniciar el servicio SSH. El comando varía según el sistema:

  • Ubuntu/Debian: sudo systemctl restart ssh
  • CentOS/AlmaLinux/Rocky: sudo systemctl restart sshd

Verifica que el servicio se ha reiniciado correctamente:

sudo systemctl status sshd

Paso 3: Probar la nueva conexión

Ahora abre una nueva ventana de terminal e intenta conectar usando el nuevo puerto:

ssh usuario@tu-servidor.com -p 2222

Si la conexión funciona, ya puedes cerrar tu sesión antigua con tranquilidad.


Cómo cambiar el puerto SSH en cPanel

cPanel gestiona su propia configuración de firewall y de servicios, así que modificar solo el archivo de SSH puede no ser suficiente. De hecho, cPanel a veces sobrescribe los cambios en /etc/ssh/sshd_config si no usas las herramientas adecuadas.

Método recomendado: usando la línea de comandos

cPanel incluye un script de configuración que actualiza el firewall automáticamente. Ejecuta lo siguiente como root:

/scripts/changesshport 2222

Este comando hace tres cosas:

  1. Cambia el puerto en /etc/ssh/sshd_config.
  2. Actualiza las reglas del firewall (CSF o iptables) para permitir el tráfico en el nuevo puerto.
  3. Reinicia el servicio SSH.

[INFO] Si usas ConfigServer Security & Firewall (CSF), el script también añade el nuevo puerto a la lista de puertos permitidos. Si usas otro firewall, deberás actualizarlo manualmente (más abajo te explico cómo).

Método manual (si el script falla)

Si prefieres hacerlo a mano, sigue los pasos del apartado anterior para editar sshd_config. Después, debes actualizar el firewall. Si usas CSF, edita el archivo:

nano /etc/csf/csf.conf

Busca la línea TCP_IN y añade tu nuevo puerto a la lista. Por ejemplo, si la línea era:

TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

Cambia el 22 por tu nuevo puerto (o añádelo al final):

TCP_IN = "20,21,25,53,80,110,143,443,465,587,993,995,2222"

Guarda el archivo y reinicia CSF:

csf -r

[WARNING] Si no actualizas el firewall, el nuevo puerto SSH estará bloqueado y no podrás conectarte desde el exterior.


Cómo cambiar el puerto SSH en Plesk

Plesk tiene un enfoque similar pero con sus propias herramientas de gestión. El proceso es bastante directo si usas la interfaz de línea de comandos.

Paso 1: Editar la configuración de SSH

Plesk usa el mismo archivo /etc/ssh/sshd_config. Edítalo como se explicó anteriormente:

nano /etc/ssh/sshd_config

Cambia la línea #Port 22 por Port 2222 y guarda.

Paso 2: Actualizar el firewall de Plesk

Plesk utiliza iptables o firewalld dependiendo de la versión. La forma más segura es usar el comando que Plesk proporciona para actualizar sus reglas:

plesk bin firewall --add-port 2222/tcp

Después, aplica los cambios:

plesk bin firewall --update

Paso 3: Reiniciar el servicio

Para que los cambios surtan efecto, reinicia el demonio SSH:

systemctl restart sshd

[TIP] En Plesk, también puedes hacerlo desde la interfaz web: Herramientas y ajustes > Gestión del firewall, y añadir una regla para el puerto TCP que hayas elegido.


Configurar el firewall para el nuevo puerto SSH

Ya sea con cPanel, Plesk o un servidor genérico, el firewall es el guardián final. Si no permites el tráfico en el nuevo puerto, tu conexión será rechazada.

Si usas UFW (Ubuntu/Debian)

sudo ufw allow 2222/tcp
sudo ufw reload

Si usas firewalld (CentOS/RHEL)

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

Si usas CSF (ConfigServer Security & Firewall)

Ya lo vimos en el apartado de cPanel, pero si configuras CSF de forma independiente:

nano /etc/csf/csf.conf
# Edita TCP_IN y añade el puerto
csf -r

[WARNING] Después de aplicar los cambios en el firewall, prueba la conexión con el nuevo puerto desde otra máquina. Si no funciona, revisa los logs del firewall con tail -f /var/log/messages o journalctl -xe.


Verificar que el puerto SSH está escuchando correctamente

Para asegurarte de que el servicio SSH está activo en el nuevo puerto, usa el comando netstat o ss:

ss -tlnp | grep sshd

Deberías ver una salida similar a:

LISTEN 0 128 0.0.0.0:2222 0.0.0.0:* users:(("sshd",pid=1234,fd=3))

Esto confirma que el demonio está escuchando en el puerto 2222 en todas las interfaces de red.


Solución de problemas comunes al cambiar el puerto SSH

Error: "Connection refused" al conectar

Esto significa que el servidor no está escuchando en ese puerto o que el firewall lo bloquea. Verifica:

  1. Que el archivo sshd_config tenga la línea Port correcta.
  2. Que el servicio esté activo con systemctl status sshd.
  3. Que el firewall permita el puerto.

Error: "Permission denied" al conectar

El servicio SSH está funcionando pero rechaza tu autenticación. Asegúrate de que el usuario y la contraseña (o clave) son correctos. También puedes revisar los logs:

tail -f /var/log/secure   # CentOS/RHEL
tail -f /var/log/auth.log # Ubuntu/Debian

No recuerdo el puerto que configuré

Conéctate a través del panel de control de tu proveedor (VNC, KVM, etc.) y revisa el archivo de configuración:

grep -i "^Port" /etc/ssh/sshd_config

Consideraciones de seguridad adicionales

Cambiar el puerto SSH es solo el primer paso. Para una protección real, combínalo con estas prácticas:

  • Desactiva el acceso root remoto: en sshd_config, cambia PermitRootLogin a no y usa un usuario con sudo.
  • Usa autenticación por clave pública: desactiva la contraseña en PasswordAuthentication no y genera claves con ssh-keygen.
  • Implementa fail2ban: esta herramienta bloquea automáticamente las IPs que intentan múltiples conexiones fallidas.
  • Limita los usuarios permitidos: añade AllowUsers en la configuración para restringir quién puede conectarse.

[INFO] Si usas Syspanel (anteriormente HestiaCP) como panel de control alternativo, ten en cuenta que su acceso web se realiza a través del puerto 2106. El cambio del puerto SSH no afecta a esa configuración, pero es importante no confundir ambos puertos.


Preguntas frecuentes (FAQ)

¿Puedo usar cualquier número de puerto para SSH?

Sí, cualquier puerto entre 1 y 65535 que no esté en uso. Se recomienda usar números por encima de 1024 para evitar conflictos con servicios del sistema.

¿Cambiar el puerto SSH afecta a mis sitios web?

No. SSH es un servicio independiente de Apache/Nginx. Tus sitios web seguirán funcionando con normalidad.

¿cPanel o Plesk necesitan configuración adicional?

Sí, ambos paneles tienen su propio sistema de firewall y gestión de servicios. Es crucial actualizar sus reglas para permitir el nuevo puerto, como explicamos en sus secciones.

¿Qué pasa si olvido el puerto nuevo?

Puedes acceder a través del panel de control de tu proveedor de hosting (VNC, KVM, etc.) y revisar el archivo /etc/ssh/sshd_config.

¿Es suficiente cambiar el puerto para estar seguro?

No. Es una capa de seguridad que reduce el ruido de bots, pero debes combinarla con claves SSH robustas, fail2ban y desactivar el acceso root.

¿Puedo cambiar el puerto SSH en Syspanel?

Syspanel se gestiona como un servidor Linux normal. El proceso es el mismo que el genérico, pero recuerda que el panel web usa el puerto 2106.


Conclusión: un paso pequeño, un gran salto en seguridad

Cambiar el puerto SSH es una tarea sencilla que cualquier administrador de servidores debería realizar. Con los pasos detallados en este artículo, puedes hacerlo en menos de cinco minutos tanto en un servidor genérico como en uno con cPanel o Plesk.

Recuerda siempre mantener una sesión de respaldo abierta, actualizar el firewall y probar la nueva conexión antes de cerrar la antigua. La seguridad no es un destino, sino un proceso continuo. Empieza con el cambio de puerto, añade autenticación por claves y configura fail2ban. Tu servidor te lo agradecerá.

Si este tutorial te ha sido útil, compártelo con otros administradores que estén empezando. Y si tienes dudas, consulta la documentación oficial de cPanel y Plesk, o abre un ticket con tu proveedor de hosting. ¡Buena suerte con tu servidor!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel