Cómo cambiar el puerto SSH en DirectAdmin para mayor seguridad
¿Por qué deberías cambiar el puerto SSH en DirectAdmin?
Cuando instalas un servidor con DirectAdmin, el servicio SSH (Secure Shell) se configura por defecto en el puerto 22. Este es el puerto estándar a nivel mundial, y precisamente por eso es el primer objetivo de los atacantes automatizados. Millones de bots escanean Internet constantemente buscando direcciones IP con el puerto 22 abierto para intentar acceder mediante ataques de fuerza bruta.
Un ataque de fuerza bruta consiste en probar miles de combinaciones de usuario y contraseña por segundo. Aunque uses una contraseña robusta, siempre existe el riesgo de que un ataque sostenido tenga éxito, especialmente si el servidor tiene habilitado el acceso root con contraseña. Cambiar el puerto SSH es una medida de seguridad sencilla pero increíblemente efectiva: los escáneres automáticos dejarán de encontrar tu servicio, ya que buscarán el puerto 22 y no el tuyo.
Además, al cambiar el puerto SSH en DirectAdmin, reduces drásticamente el ruido en los logs del sistema. Dejarás de ver cientos de intentos de conexión fallidos cada día, lo que facilita detectar amenazas reales. Es una capa extra de "seguridad por oscuridad", que no es infalible, pero sí muy recomendable como parte de una estrategia de defensa en profundidad.
Requisitos previos antes de empezar
Antes de lanzarte a modificar la configuración, asegúrate de tener lo siguiente:
- Acceso de administrador a DirectAdmin (panel de control).
- Acceso por SSH como usuario root (o un usuario con privilegios sudo).
- Un cliente SSH instalado en tu ordenador (PuTTY en Windows, Terminal en macOS/Linux).
- Tener a mano la IP de tu servidor y las credenciales de acceso.
[WARNING] Si tienes un firewall activo (como CSF, ConfigServer Security & Firewall), deberás actualizar las reglas después de cambiar el puerto. Si no lo haces, podrías quedarte bloqueado fuera de tu propio servidor.
Método 1: Cambiar el puerto SSH desde el panel de DirectAdmin
DirectAdmin ofrece una interfaz gráfica muy amigable para realizar esta tarea sin tocar archivos de configuración manualmente. Es el método más recomendado para usuarios sin experiencia técnica avanzada.
Paso 1: Accede al panel de DirectAdmin
Abre tu navegador y entra a https://tu-dominio.com:2222 o https://tu-ip:2222. Inicia sesión con tu usuario administrador.
Paso 2: Navega a la sección de configuración SSH
En el menú principal, busca la sección "Cuenta de Administrador" o "Admin Level". Dentro de esta, encuentra la opción "SSH Access" o "Acceso SSH". En versiones recientes de DirectAdmin, esta opción puede aparecer como "SSH Keys" o "Secure Shell".
Paso 3: Modifica el puerto
Dentro de la sección SSH, verás un campo llamado "Port" o "Puerto" con el valor 22. Cámbialo por el número de puerto que desees. Te recomendamos elegir un puerto alto, entre 1024 y 65535, que no sea de uso común. Por ejemplo: 22022, 3306 (no uses este, es de MySQL), 49222, etc.
Guarda los cambios. DirectAdmin modificará automáticamente el archivo de configuración de SSH y reiniciará el servicio.
Paso 4: Actualiza el firewall
Si tienes CSF activado, deberás añadir el nuevo puerto a la configuración. Ve a "Firewall Configuration" en el panel de administrador, busca la línea TCP_IN y añade tu nuevo puerto separado por comas. Por ejemplo: TCP_IN = "22,80,443,22022". Luego guarda y reinicia el firewall desde la misma interfaz.
[TIP] No elimines el puerto 22 de la lista
TCP_INhasta que hayas verificado que puedes conectarte por el nuevo puerto. Así evitarás quedarte fuera.
Método 2: Cambiar el puerto SSH manualmente (por terminal)
Este método te da un control total sobre el proceso y es útil si prefieres trabajar desde la línea de comandos o si el panel de DirectAdmin no te permite hacer el cambio.
Paso 1: Haz una copia de seguridad
Conéctate a tu servidor por SSH usando el puerto actual (22) y ejecuta:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Esto creará una copia de seguridad por si algo sale mal.
Paso 2: Edita el archivo de configuración
Abre el archivo con tu editor favorito (nano, vim, etc.):
nano /etc/ssh/sshd_config
Busca la línea que dice #Port 22 o Port 22. Descoméntala si tiene # delante y cambia el número por el nuevo puerto. Por ejemplo:
Port 22022
Guarda el archivo (en nano: Ctrl+O, luego Enter, y Ctrl+X para salir).
Paso 3: Reinicia el servicio SSH
Para aplicar los cambios, reinicia el demonio SSH. En la mayoría de sistemas:
systemctl restart sshd
O en sistemas más antiguos:
service sshd restart
Paso 4: Configura el firewall
Si usas CSF:
csf -a tu-ip
csf --addport 22022:tcp
csf -r
O si usas iptables directamente:
iptables -A INPUT -p tcp --dport 22022 -j ACCEPT
service iptables save
Verificación: ¿Cómo comprobar que el cambio fue exitoso?
Después de cambiar el puerto, es fundamental verificar que todo funciona correctamente antes de cerrar tu sesión actual. Sigue estos pasos:
- Abre una nueva ventana de terminal (no cierres la actual todavía).
- Intenta conectarte por el nuevo puerto:
ssh -p 22022 usuario@tu-ip
-
Si la conexión es exitosa, entonces puedes cerrar la sesión antigua con
exit. -
Si no puedes conectarte, revisa que el firewall esté permitiendo el tráfico en ese puerto y que el servicio SSH esté corriendo. Puedes verificar el estado con:
systemctl status sshd
[WARNING] Nunca cierres tu sesión SSH actual hasta que confirmes que puedes acceder por el nuevo puerto. De lo contrario, podrías quedarte bloqueado sin posibilidad de acceso remoto.
Qué puerto elegir: recomendaciones prácticas
Elegir un buen puerto es más importante de lo que parece. Aquí tienes algunas pautas:
- Evita puertos bien conocidos: no uses
22,222,2222(estos son muy comunes y los bots también los escanean). - Evita puertos de servicios comunes:
80(HTTP),443(HTTPS),3306(MySQL),5432(PostgreSQL),8080(proxies), etc. - Elige un número entre 49152 y 65535: estos son los puertos dinámicos y privados, menos propensos a ser escaneados.
- Recuerda el número: no sirve de nada elegir un puerto si luego no lo recuerdas. Puedes anotarlo en un gestor de contraseñas seguro.
Ejemplos de puertos razonables: 49222, 51234, 53467, 55123.
Configuración adicional para maximizar la seguridad
Cambiar el puerto SSH es solo el primer paso. Combínalo con estas otras medidas para proteger tu servidor de forma integral:
Desactiva el acceso root por contraseña
Crea un usuario con privilegios sudo y desactiva el login root directo. En sshd_config, cambia:
PermitRootLogin no
Usa autenticación por clave pública
Es mucho más seguro que las contraseñas. Genera un par de claves en tu ordenador y añade la clave pública al archivo ~/.ssh/authorized_keys del servidor.
Instala Fail2ban
Esta herramienta monitorea los logs del sistema y bloquea automáticamente las IPs que realizan múltiples intentos fallidos de conexión. Es una barrera excelente contra la fuerza bruta.
Configura un firewall de aplicación
CSF o APF son excelentes opciones para gestionar el tráfico entrante y saliente de tu servidor. Permiten crear reglas específicas por puerto e IP.
Solución de problemas comunes
No puedo conectarme después del cambio
Revisa estos puntos:
- ¿El puerto está abierto en el firewall?
- ¿Reiniciaste el servicio SSH correctamente?
- ¿Usaste el puerto correcto en tu cliente SSH?
- ¿El servidor tiene alguna regla de red adicional (por ejemplo, en el proveedor de hosting)?
Puedes comprobar si el puerto está escuchando ejecutando:
netstat -tulpn | grep sshd
El puerto aparece ocupado
Si el puerto que elegiste ya está en uso por otro servicio, SSH no podrá iniciarse. Elige otro puerto y repite el proceso.
Quiero volver al puerto 22
Simplemente revierte el cambio: edita sshd_config, pon Port 22, reinicia el servicio y actualiza el firewall.
Preguntas frecuentes (FAQ)
¿Es obligatorio cambiar el puerto SSH?
No, pero es muy recomendable. Reduce significativamente los intentos de intrusión automatizados y mejora la seguridad general del servidor.
¿Puedo usar cualquier número de puerto?
Sí, siempre que esté entre 1 y 65535. Evita los puertos reservados y los que ya estén en uso.
¿DirectAdmin tiene alguna restricción sobre el puerto?
No, DirectAdmin permite configurar cualquier puerto válido. Solo asegúrate de que el firewall esté actualizado.
¿Afecta esto a otros servicios como FTP o el propio panel?
No, solo afecta al servicio SSH. El panel de DirectAdmin sigue accesible en su puerto habitual (2222).
¿Qué pasa si olvido el puerto que configuré?
Puedes consultar el archivo /etc/ssh/sshd_config en el servidor, o revisar la configuración en el panel de DirectAdmin.
¿Es lo mismo cambiar el puerto SSH en DirectAdmin que en otros paneles como Syspanel?
El concepto es el mismo, pero la interfaz cambia. En Syspanel (antes conocido como HestiaCP), el acceso al panel se realiza por el puerto 2106 y la configuración SSH se gestiona desde el archivo sshd_config directamente, ya que no ofrece una opción gráfica para ello.
Conclusión final
Cambiar el puerto SSH en DirectAdmin es una tarea sencilla, rápida y con un impacto enorme en la seguridad de tu servidor. No necesitas ser un experto en sistemas para hacerlo, y los beneficios son inmediatos: menos intentos de intrusión, logs más limpios y una capa extra de protección contra ataques automatizados.
Recuerda siempre combinar esta medida con otras buenas prácticas como el uso de claves SSH, la desactivación del login root y la instalación de herramientas como Fail2ban. La seguridad no es un destino, sino un proceso continuo de mejora.
Si has seguido esta guía paso a paso, ya tienes tu servidor mucho más seguro. Ahora puedes disfrutar de la tranquilidad de saber que los bots que escanean el puerto 22 ya no te encontrarán.
