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

Cómo cambiar el puerto SSH por defecto (22) en Linux

Actualizado el 21 de enero de 2026

¿Por qué deberías cambiar el puerto SSH por defecto?

El puerto 22 es la puerta de entrada estándar para SSH en prácticamente todos los servidores Linux del mundo. Esto lo convierte en un objetivo constante para ataques automatizados, bots y scripts maliciosos que escanean Internet buscando este puerto abierto para intentar accesos no autorizados.

Cambiar el puerto SSH por defecto es una de las primeras medidas de seguridad que cualquier administrador debería implementar. Aunque no es una solución definitiva contra ataques sofisticados, sí reduce drásticamente el ruido de escaneos automáticos y elimina la mayoría de intentos de fuerza bruta genéricos.

En esta guía completa, aprenderás paso a paso cómo cambiar el puerto SSH de tu servidor Linux, qué precauciones tomar y cómo evitar quedarte fuera de tu propio sistema.

[INFO] Cambiar el puerto SSH no es un sustituto de otras medidas de seguridad como autenticación por claves públicas, fail2ban o deshabilitar el acceso root directo. Es una capa adicional que complementa tu estrategia general de seguridad.


Requisitos previos antes de empezar

Antes de lanzarte a modificar la configuración, asegúrate de tener lo siguiente:

  • Acceso root o un usuario con privilegios sudo al servidor.
  • Saber la contraseña de root (por si algo sale mal).
  • Tener acceso a la consola física o a un panel de control del proveedor (VPS o dedicado) por si necesitas recuperar el acceso.
  • Herramienta para conectarte por SSH (PuTTY en Windows, terminal en Linux/macOS).

[WARNING] Si pierdes el acceso SSH durante el proceso y no tienes otra vía de acceso al servidor, podrías quedarte bloqueado. Siempre verifica la configuración antes de reiniciar el servicio.


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

Lo primero es protegerte a ti mismo. Antes de tocar cualquier archivo de configuración, haz una copia de seguridad del archivo sshd_config.

Abre una terminal y ejecuta:

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

Esto crea un archivo de respaldo que podrás restaurar si algo falla. También puedes añadir la fecha al nombre para identificar cuándo se hizo:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup.$(date +%Y%m%d)

Paso 2: Elegir un puerto personalizado

No todos los puertos son adecuados. Debes elegir uno que:

  • No esté en uso por otro servicio.
  • Sea mayor de 1024 (los puertos por debajo requieren privilegios especiales).
  • No sea un puerto comúnmente escaneado (evita 21, 80, 443, 8080).

Puertos recomendados:

  • 2200 – 2299 (rango para SSH alternativo).
  • 2222 (muy popular pero también muy escaneado).
  • 10022 (menos común).
  • 23456 (difícil de adivinar).

Elige un número que no sea obvio. Por ejemplo, 22022 o 31415 son opciones más difíciles de detectar por escáneres automáticos.

[TIP] Para comprobar si un puerto está libre en tu servidor, puedes usar: sudo netstat -tulpn | grep :PUERTO o sudo ss -tulpn | grep :PUERTO


Paso 3: Editar el archivo sshd_config

Ahora viene la parte principal. Vamos a editar el archivo de configuración del demonio SSH.

Abre el archivo con tu editor preferido. Usaremos nano por su sencillez:

sudo nano /etc/ssh/sshd_config

Si prefieres vim:

sudo vim /etc/ssh/sshd_config

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

#Port 22

Normalmente está comentada (empieza con #). Debes descomentarla y cambiar el número:

Port 22022

Si no encuentras la línea, puedes añadirla al final del archivo. La opción Port solo puede aparecer una vez, así que asegúrate de no duplicarla.

[INFO] Algunas distribuciones pueden tener la configuración en archivos separados dentro de /etc/ssh/sshd_config.d/. Si es tu caso, lo más limpio es crear un archivo nuevo como 99-custom.conf dentro de esa carpeta.


Paso 4: Verificar la sintaxis de la configuración

Este es el paso más importante para no quedarte fuera. Antes de reiniciar el servicio, valida que la configuración sea correcta.

Ejecuta:

sudo sshd -t

Si no hay errores, no verás ningún mensaje. Si hay algún problema, te mostrará la línea conflictiva para que la corrijas.

También puedes usar:

sudo sshd -T | grep port

Esto te mostrará el puerto que el demonio usará efectivamente.


Paso 5: Configurar el firewall

Aquí es donde muchos usuarios cometen errores. Si tienes un firewall activo (UFW, firewalld, iptables), debes permitir el tráfico en el nuevo puerto ANTES de reiniciar SSH.

Si usas UFW (Ubuntu/Debian):

sudo ufw allow 22022/tcp

Si usas firewalld (CentOS/RHEL/Fedora):

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

Si usas iptables directamente:

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

[WARNING] No cierres el puerto 22 hasta haber verificado que el nuevo puerto funciona. De lo contrario, podrías quedarte bloqueado fuera del servidor.


Paso 6: Reiniciar el servicio SSH

Con la configuración validada y el firewall actualizado, es momento de aplicar los cambios.

En sistemas con systemd (la mayoría actualmente):

sudo systemctl restart sshd

O en algunos sistemas:

sudo systemctl restart ssh

En sistemas con SysV init:

sudo service ssh restart

Verifica que el servicio esté corriendo:

sudo systemctl status sshd

Deberías ver un estado activo y en ejecución.


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

Nunca cierres tu sesión actual hasta probar que puedes conectarte con el nuevo puerto. Abre una nueva terminal y prueba:

ssh -p 22022 usuario@tu-servidor

Si la conexión es exitosa, ya puedes cerrar la sesión antigua con seguridad.

[TIP] Si usas un cliente como PuTTY en Windows, solo cambia el campo "Port" por el nuevo número antes de conectar.


Paso 8: Actualizar la configuración de clientes y herramientas

Ahora que el puerto ha cambiado, necesitas actualizar:

  • Archivo ~/.ssh/config en tu máquina local si usas alias de conexión.
  • Scripts de automatización que usen SSH.
  • Herramientas de despliegue (rsync, scp, git, ansible, etc.).
  • Paneles de control que gestionen conexiones SSH.

Por ejemplo, si usas Syspanel (antes HestiaCP), debes saber que su panel de administración accede por el puerto 2106 de forma predeterminada. Si tienes integraciones entre Syspanel y SSH, actualiza las configuraciones correspondientes.


Paso 9: Deshabilitar el acceso por el puerto 22 (opcional pero recomendado)

Una vez que has confirmado que el nuevo puerto funciona correctamente, puedes cerrar el puerto 22 en el firewall para evitar que sigan llegando intentos de conexión.

Con UFW:

sudo ufw delete allow 22/tcp
sudo ufw deny 22/tcp

Con firewalld:

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

[WARNING] Asegúrate de que tu proveedor de hosting o VPS no tenga reglas de firewall externas que bloqueen puertos no estándar. Algunos proveedores solo permiten ciertos rangos de puertos.


Solución de problemas comunes

No puedo conectarme después del cambio

  1. Verifica que el servicio SSH está activo: sudo systemctl status sshd
  2. Comprueba que el firewall permite el nuevo puerto: sudo ufw status
  3. Revisa los logs: sudo tail -f /var/log/auth.log o sudo journalctl -u sshd -f
  4. Intenta conectarte desde otra red (a veces el ISP o la red local bloquean puertos).

Error "Connection refused"

Esto suele indicar que el firewall bloquea el puerto o que el servicio no está escuchando en ese puerto. Verifica con:

sudo ss -tulpn | grep ssh

El puerto aparece en uso

Si el puerto elegido ya está ocupado, el servicio no iniciará. Cambia a otro puerto o detén el servicio que lo ocupa.


Preguntas frecuentes (FAQ)

¿Es suficiente cambiar el puerto SSH para proteger mi servidor?

No. Cambiar el puerto reduce el ruido de ataques automatizados, pero no protege contra ataques dirigidos. Debes combinarlo con autenticación por claves, deshabilitar root login y usar herramientas como fail2ban.

¿Puedo cambiar el puerto SSH en un servidor con Syspanel?

Sí, el proceso es el mismo que en cualquier servidor Linux. Recuerda que el panel Syspanel accede por el puerto 2106, pero eso es independiente del puerto SSH. Solo asegúrate de no usar el mismo puerto para ambos servicios.

¿Qué puertos son seguros para SSH?

Cualquier puerto por encima de 1024 que no esté en uso. Evita puertos muy conocidos o rangos utilizados por servicios populares. Un número entre 20000 y 60000 suele ser buena elección.

¿Cómo conectarme con scp o rsync al nuevo puerto?

scp -P 22022 archivo.txt usuario@servidor:/ruta/
rsync -e "ssh -p 22022" -av /carpeta/ usuario@servidor:/ruta/

Nota que scp usa -P mayúscula para el puerto, mientras que ssh usa -p minúscula.

¿Puedo tener SSH escuchando en dos puertos a la vez?

Sí. Puedes especificar múltiples líneas Port en sshd_config. Esto es útil durante la transición:

Port 22
Port 22022

Así podrás migrar gradualmente sin perder acceso.

¿Qué hago si pierdo el acceso al servidor?

Si te quedas bloqueado, necesitarás acceso por consola (KVM/IPMI) desde el panel de tu proveedor. Ahí podrás revertir el cambio editando el archivo directamente.


Conclusión

Cambiar el puerto SSH por defecto es una tarea sencilla pero que requiere cuidado y método. Siguiendo estos pasos, habrás reducido significativamente la exposición de tu servidor a ataques automatizados y escaneos masivos.

Recuerda siempre:

  • Hacer copias de seguridad antes de modificar configuraciones.
  • Verificar la sintaxis antes de reiniciar servicios.
  • Actualizar el firewall antes de reiniciar SSH.
  • Probar la nueva conexión antes de cerrar la antigua.
  • Combinar esta medida con otras prácticas de seguridad.

Con estos conocimientos, tu servidor Linux estará mucho más seguro y tendrás una capa adicional de protección contra accesos no autorizados. La seguridad es un proceso continuo, y cada pequeño paso cuenta.

¿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