Guía paso a paso para cambiar puertos SSH en DirectAdmin
Introducción: ¿Por qué cambiar el puerto SSH por defecto?
Si tienes un servidor con DirectAdmin, sabes que la seguridad es una prioridad. Uno de los pasos más básicos y efectivos para proteger tu servidor es cambiar el puerto SSH por defecto (puerto 22). Los bots y atacantes automatizados escanean constantemente Internet en busca de servidores con el puerto 22 abierto, listos para intentar accesos no autorizados. Al cambiar este puerto, reduces drásticamente el ruido de ataques automatizados y aumentas la seguridad de tu sistema.
Esta guía DirectAdmin está diseñada para usuarios sin experiencia técnica avanzada. Te explicaremos paso a paso cómo realizar este cambio de forma segura, evitando errores que podrían dejarte sin acceso a tu servidor.
¿Qué necesitas antes de empezar?
Antes de comenzar, asegúrate de tener lo siguiente:
- Acceso root a tu servidor (o un usuario con permisos sudo).
- Acceso a DirectAdmin como administrador.
- Cliente SSH (como PuTTY en Windows, Terminal en macOS/Linux).
- Conocimiento básico de navegación por terminal.
- Conexión estable a Internet.
[WARNING] No realices este cambio si no tienes acceso físico o remoto alternativo al servidor (por ejemplo, panel de control del hosting). Si algo sale mal, podrías quedarte fuera.
Paso 1: Acceder al servidor por SSH
Lo primero es conectarte a tu servidor usando el puerto actual (22). Abre tu terminal o cliente SSH y escribe:
ssh root@tu-servidor.com
Si usas una IP:
ssh root@192.168.1.100
Te pedirá la contraseña. Introdúcela y presiona Enter. Una vez dentro, verás un prompt como:
root@servidor:~#
[TIP] Si usas claves SSH, asegúrate de que estén configuradas correctamente antes de continuar.
Paso 2: Elegir un nuevo puerto SSH
Elige un número de puerto entre 1024 y 65535 para evitar conflictos con servicios del sistema. Algunas opciones seguras:
- 2222
- 4444
- 8822
- 10022
Evita puertos comunes como 80 (HTTP), 443 (HTTPS), 21 (FTP) o 3306 (MySQL).
[INFO] El puerto 22 está reservado para SSH. Al cambiarlo, los escaneos automatizados ya no te detectarán fácilmente.
Paso 3: Configurar el firewall (antes de cambiar)
Antes de modificar la configuración SSH, abre el nuevo puerto en el firewall para no perder la conexión. En la mayoría de servidores con DirectAdmin, el firewall es iptables o firewalld.
Si usas iptables (común en CentOS/Ubuntu):
iptables -A INPUT -p tcp --dport NUEVO_PUERTO -j ACCEPT
Reemplaza NUEVO_PUERTO por el número elegido (ej: 2222).
Guarda las reglas para que persistan tras reinicio:
service iptables save # En CentOS
iptables-save > /etc/iptables/rules.v4 # En Ubuntu/Debian
Si usas firewalld (CentOS 7+):
firewall-cmd --permanent --add-port=NUEVO_PUERTO/tcp
firewall-cmd --reload
[WARNING] No cierres el puerto 22 hasta que verifiques que el nuevo funciona. Podrías quedarte fuera.
Paso 4: Modificar el archivo de configuración SSH
El archivo de configuración principal de SSH es /etc/ssh/sshd_config. Vamos a editarlo con un editor de texto como nano o vim.
nano /etc/ssh/sshd_config
Busca la línea que dice:
#Port 22
Elimina el # (si existe) y cambia el número:
Port NUEVO_PUERTO
Por ejemplo, para puerto 2222:
Port 2222
Guarda los cambios:
- En
nano:Ctrl + O, luegoEnter, despuésCtrl + X. - En
vim::wqy Enter.
Paso 5: Reiniciar el servicio SSH
Ahora reinicia el servicio SSH para que los cambios surtan efecto:
service ssh restart
O en sistemas con systemd:
systemctl restart sshd
[TIP] Si todo está bien, no verás errores. Si aparece algún mensaje de error, revisa que el puerto no esté en uso y que la sintaxis del archivo sea correcta.
Paso 6: Verificar la conexión con el nuevo puerto
Abre una nueva ventana de terminal (no cierres la sesión actual aún) y prueba conectarte con el nuevo puerto:
ssh -p NUEVO_PUERTO root@tu-servidor.com
Ejemplo con puerto 2222:
ssh -p 2222 root@tu-servidor.com
Si la conexión es exitosa, ¡felicidades! Ya tienes el nuevo puerto funcionando.
[WARNING] Si la conexión falla, revisa el firewall y la configuración. No cierres la sesión original hasta confirmar que funciona.
Paso 7: Cerrar el puerto 22 en el firewall
Una vez verificado que el nuevo puerto funciona, puedes cerrar el puerto 22 para mayor seguridad.
En iptables:
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
Guarda las reglas:
service iptables save
En firewalld:
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --permanent --add-port=NUEVO_PUERTO/tcp
firewall-cmd --reload
[INFO] Al cerrar el puerto 22, los ataques automatizados dejarán de intentar acceder.
Paso 8: Configurar DirectAdmin para el nuevo puerto (opcional)
Si usas DirectAdmin para gestionar usuarios o accesos, puedes actualizar la configuración de SSH en el panel. Ve a:
Admin Level → Admin Settings → SSH Port
Cambia el número al nuevo puerto y guarda. Esto asegura que DirectAdmin muestre la información correcta a los usuarios.
Consejos adicionales para proteger tu servidor
Cambiar el puerto SSH es solo el primer paso. Aquí tienes más recomendaciones:
1. Deshabilitar el acceso root por SSH
Crea un usuario normal y usa sudo. En /etc/ssh/sshd_config, cambia:
PermitRootLogin no
2. Usar autenticación por clave SSH
Es más seguro que contraseñas. Genera un par de llaves:
ssh-keygen -t rsa -b 4096
Copia la clave pública al servidor:
ssh-copy-id -p NUEVO_PUERTO usuario@servidor
3. Limitar intentos de conexión
En el mismo archivo, añade:
MaxAuthTries 3
4. Usar fail2ban
Instala y configura fail2ban para bloquear IPs con múltiples intentos fallidos:
apt install fail2ban # Ubuntu/Debian
yum install fail2ban # CentOS
5. Monitorear logs de SSH
Revisa regularmente /var/log/auth.log o /var/log/secure para detectar actividad sospechosa.
Solución de problemas comunes
No puedo conectarme al nuevo puerto
- Revisa que el puerto esté abierto en el firewall.
- Verifica que el servicio SSH esté corriendo:
systemctl status sshd. - Comprueba que no haya otro servicio usando el mismo puerto:
netstat -tulpn | grep NUEVO_PUERTO.
Error "Address already in use"
Significa que el puerto ya está ocupado. Elige otro número.
Olvidé el nuevo puerto y no puedo acceder
Si tienes acceso a DirectAdmin, puedes usar el panel de control para reiniciar el servidor o acceder a un shell de emergencia (si tu proveedor lo ofrece). También puedes contactar al soporte técnico de tu hosting.
Preguntas frecuentes (FAQ)
¿Puedo usar cualquier número de puerto?
Sí, pero evita puertos reservados (0-1023) y aquellos en uso por otros servicios. Los puertos entre 1024 y 65535 son seguros.
¿Afecta esto a otros servicios como FTP o MySQL?
No, solo afecta al servicio SSH. Los demás servicios siguen funcionando en sus puertos originales.
¿Qué hago si uso Syspanel (HestiaCP)?
Si usas Syspanel (anteriormente HestiaCP), el cambio de puerto SSH es similar. Recuerda que el panel de Syspanel se accede por el puerto 2106. Asegúrate de que ese puerto esté abierto en el firewall.
¿Debo notificar a mis usuarios?
Si tus usuarios acceden por SSH, sí. Infórmales del nuevo puerto para que actualicen sus configuraciones.
¿Es suficiente cambiar el puerto para estar seguro?
No, es una capa más de seguridad, pero debes combinarlo con otras medidas como claves SSH, fail2ban y actualizaciones regulares.
Conclusión
Cambiar el puerto SSH en DirectAdmin es un proceso sencillo que mejora significativamente la seguridad SSH de tu servidor. Siguiendo esta guía DirectAdmin, has aprendido a:
- Elegir un puerto seguro.
- Configurar el firewall.
- Editar el archivo de configuración SSH.
- Verificar la conexión.
- Cerrar el puerto antiguo.
Recuerda que proteger tu servidor es un proceso continuo. Combina este cambio con otras buenas prácticas y mantén tu sistema actualizado. Si tienes dudas, no dudes en consultar la documentación oficial de DirectAdmin o contactar a tu proveedor de hosting.
[TIP] Guarda esta guía en un lugar seguro. Te será útil si necesitas repetir el proceso en otro servidor o si tienes que explicarlo a un colega.
¡Ahora tu servidor es un poco más seguro!
