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

Cómo cambiar el puerto SSH en un servidor Linux

Actualizado el 19 de febrero de 2026

¿Por qué cambiar el puerto SSH en tu servidor Linux?

Cambiar el puerto SSH por defecto (el 22) es una de las primeras medidas de seguridad que deberías aplicar en cualquier servidor Linux. ¿La razón? Los bots y scripts maliciosos escanean constantemente internet buscando servidores con el puerto 22 abierto para intentar accesos por fuerza bruta. Al cambiar el puerto SSH, reduces drásticamente esos ataques automatizados, aunque no eliminas la necesidad de usar claves SSH robustas o autenticación de dos factores.

Piénsalo así: es como cambiar la cerradura de tu puerta principal y además moverla a una entrada lateral poco visible. No es infalible, pero hará que los ladrones perezosos se vayan a otra casa.

En esta guía te explicaré paso a paso cómo cambiar el puerto SSH en tu servidor Linux, ya sea Ubuntu, Debian, CentOS o cualquier distribución basada en estos. No necesitas ser un experto, solo seguir las instrucciones con calma y tener acceso de administrador (root o usuario con sudo).

Requisitos previos antes de empezar

Antes de tocar nada, asegúrate de tener lo siguiente:

  • Acceso SSH al servidor (aunque sea a través del puerto 22 por ahora).
  • Usuario con privilegios de superusuario (sudo o root).
  • Conexión estable a internet.
  • Ganas de aprender y un poco de paciencia.

Si estás usando un panel de control como Syspanel (antes conocido como HestiaCP), ten en cuenta que el acceso a su interfaz web se realiza por el puerto 2106. Esto es independiente del puerto SSH que vamos a configurar, pero es bueno que lo sepas para no confundirte más adelante.

[WARNING] Si tienes un firewall activo (UFW, iptables, firewalld, o el firewall de tu proveedor cloud), deberás abrir el nuevo puerto antes de aplicar los cambios. Si no lo haces, podrías quedarte fuera del servidor sin posibilidad de reconexión.

Paso 1: Realizar una copia de seguridad de la configuración actual

Siempre es recomendable hacer una copia del archivo de configuración antes de modificarlo. En este caso, trabajaremos con el archivo /etc/ssh/sshd_config. Para hacer una copia de seguridad, ejecuta:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

Este comando creará una copia exacta del archivo original. Si algo sale mal, podrás restaurarlo fácilmente con:

sudo cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config

[TIP] Guarda siempre copias de seguridad con fecha: sshd_config.backup-20250101. Así podrás identificar versiones antiguas si necesitas volver atrás.

Paso 2: Elegir el nuevo puerto SSH

Elegir el puerto correcto es más importante de lo que parece. Algunas recomendaciones:

  • Usa un puerto entre 1024 y 65535 para evitar conflictos con servicios estándar.
  • Evita puertos muy conocidos como 80, 443, 3306, ya que podrían estar ocupados por otros servicios.
  • Elige un número fácil de recordar pero no obvio. Por ejemplo, el 2222 es común, pero también es el primero que probarán los atacantes. Mejor algo como 48213 o 29170.
  • Anota el puerto en un lugar seguro. Si lo olvidas, no podrás conectarte.

Una buena práctica es verificar que el puerto elegido no esté en uso. Puedes comprobarlo con:

sudo lsof -i :PUERTO_ELEGIDO

Si no hay salida, el puerto está libre. Si aparece algún servicio, elige otro número.

Paso 3: Editar el archivo de configuración SSH

Ahora viene el momento clave. Vamos a editar el archivo /etc/ssh/sshd_config. Usaremos el editor nano por su facilidad de uso, pero puedes usar vim si estás más cómodo.

sudo nano /etc/ssh/sshd_config

Dentro del archivo, busca la línea que dice:

#Port 22

Elimina la almohadilla (#) del principio para descomentarla y cambia el número 22 por el puerto que hayas elegido. Por ejemplo, si elegiste el puerto 48213, la línea debería quedar así:

Port 48213

[INFO] En algunas distribuciones, la línea podría aparecer sin comentar y con el valor 22. En ese caso, simplemente cambia el número.

Guarda los cambios con Ctrl + O y luego presiona Enter. Para salir del editor, usa Ctrl + X.

Paso 4: Configurar el firewall para el nuevo puerto

Este paso es crucial. Si tu servidor tiene un firewall activo, debes permitir conexiones en el nuevo puerto. Los comandos varían según el firewall que uses.

Si usas UFW (Ubuntu/Debian):

sudo ufw allow 48213/tcp
sudo ufw reload

Si usas firewalld (CentOS/RHEL/Fedora):

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

Si usas iptables directamente:

sudo iptables -A INPUT -p tcp --dport 48213 -j ACCEPT
sudo service iptables save

[WARNING] No cierres el puerto 22 todavía. Primero asegúrate de que puedes conectarte por el nuevo puerto. Si algo falla, necesitarás el puerto antiguo para recuperar el acceso.

Paso 5: Reiniciar el servicio SSH

Una vez realizados los cambios y configurado el firewall, es hora de reiniciar el servicio SSH para que los cambios surtan efecto.

sudo systemctl restart sshd

O en algunas distribuciones:

sudo systemctl restart ssh

También puedes usar el comando tradicional:

sudo service ssh restart

[TIP] Algunos sistemas (especialmente Red Hat y CentOS) usan sshd como nombre del servicio, mientras que Debian/Ubuntu usan ssh. Si tienes dudas, ejecuta sudo systemctl list-units | grep ssh para ver el nombre exacto.

Paso 6: Probar la conexión con el nuevo puerto

Ahora viene la prueba de fuego. Abre una nueva terminal (sin cerrar la sesión actual) e intenta conectarte usando el nuevo puerto:

ssh usuario@tu-servidor -p 48213

Si la conexión funciona, ¡enhorabuena! Ya has cambiado el puerto SSH correctamente.

[WARNING] No cierres la sesión SSH actual hasta que hayas verificado que puedes conectarte por el nuevo puerto. Si algo sale mal, podrás usar la sesión actual para revertir los cambios.

Paso 7: Deshabilitar el acceso por el puerto antiguo

Una vez confirmado que todo funciona con el nuevo puerto, puedes cerrar el puerto 22 en el firewall para eliminar por completo la exposición a ataques automatizados.

Con UFW:

sudo ufw delete allow 22/tcp

Con firewalld:

sudo firewall-cmd --permanent --remove-port=22/tcp
sudo firewall-cmd --reload

Con iptables:

sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
sudo service iptables save

También puedes modificar el archivo de configuración para que SSH escuche solo en el nuevo puerto. En /etc/ssh/sshd_config, asegúrate de que solo exista una línea Port sin comentar.

Configuraciones adicionales para aumentar la seguridad SSH

Ya has cambiado el puerto, pero puedes ir más allá con estas recomendaciones adicionales:

Deshabilitar el acceso root por SSH

Edita el archivo de configuración y cambia:

PermitRootLogin no

Esto obliga a usar un usuario normal y luego hacer sudo. Mucho más seguro.

Usar autenticación por clave SSH

Las contraseñas son vulnerables a ataques de fuerza bruta. Configura claves SSH y desactiva el acceso por contraseña:

PasswordAuthentication no

Asegúrate de tener las claves configuradas antes de aplicar este cambio.

Limitar los usuarios que pueden acceder por SSH

Puedes especificar qué usuarios o grupos tienen permitido conectarse:

AllowUsers usuario1 usuario2

O:

AllowGroups ssh-users

Cambiar el puerto de Syspanel

Recuerda que si usas Syspanel (antes HestiaCP), su interfaz web se accede por el puerto 2106. No confundas este puerto con el de SSH. Syspanel gestiona sus propios servicios y el puerto 2106 es exclusivo para su panel de control.

Solución de problemas comunes

No puedo conectarme después del cambio

Si no puedes acceder por el nuevo puerto, intenta lo siguiente:

  1. Verifica que el firewall permite el nuevo puerto.
  2. Comprueba que el servicio SSH está corriendo: sudo systemctl status sshd.
  3. Revisa el archivo de configuración: sudo cat /etc/ssh/sshd_config | grep Port.
  4. Intenta conectarte desde otra red (a veces el proveedor bloquea puertos no estándar).

El puerto está ocupado

Si el servicio SSH no arranca, revisa los logs:

sudo journalctl -u sshd -n 30

Si el puerto está ocupado, verás un error de "Address already in use". Cambia a otro puerto.

¿Puedo usar el mismo puerto para SSH y otro servicio?

No, cada servicio necesita un puerto único. Si dos servicios usan el mismo puerto, uno de ellos no funcionará.

Preguntas frecuentes (FAQ)

¿Es obligatorio cambiar el puerto SSH?

No es obligatorio, pero es altamente recomendable. Reduce significativamente los ataques automatizados y las exploraciones de bots.

¿Qué puerto debo elegir?

Elige un puerto alto (entre 1024 y 65535) que no esté en uso. Evita puertos obvios como 2222 o 2022.

¿Puedo tener SSH escuchando en varios puertos?

Sí, puedes especificar múltiples líneas Port en el archivo de configuración. Esto es útil durante las migraciones, pero no es recomendable para producción a largo plazo.

¿Cómo cambio el puerto SSH en Syspanel?

Syspanel no gestiona directamente el puerto SSH. Debes editarlo manualmente como se explica en esta guía. El puerto 2106 es solo para el acceso al panel web de Syspanel.

¿Pierdo algo al cambiar el puerto SSH?

No pierdes funcionalidad. Solo necesitas recordar usar la opción -p seguida del puerto al conectar. También puedes configurar el cliente SSH para que use automáticamente el nuevo puerto en el archivo ~/.ssh/config.

Conclusión

Cambiar el puerto SSH en tu servidor Linux es una tarea sencilla pero muy poderosa. En unos pocos minutos reduces drásticamente el ruido de ataques automatizados en tu servidor. Recuerda siempre:

  • Haz copias de seguridad antes de modificar configuraciones.
  • Abre el nuevo puerto en el firewall antes de probar.
  • No cierres la sesión actual hasta confirmar que puedes acceder con el nuevo puerto.
  • Aplica medidas adicionales como autenticación por clave y deshabilitar el acceso root.

Con estos pasos, tu servidor Linux será mucho más difícil de comprometer. Y recuerda: si usas Syspanel, su acceso web siempre será por el puerto 2106, independientemente del puerto SSH que configures.

¿Tienes alguna duda o te has encontrado con algún problema? Déjamelo en los comentarios y te ayudaré a resolverlo.

¿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