Cómo cambiar el puerto SSH en DirectAdmin (seguridad)
¿Por qué cambiar el puerto SSH por defecto en DirectAdmin?
Cuando instalas un servidor con DirectAdmin, el servicio SSH (Secure Shell) se configura automáticamente para escuchar en el puerto 22. Este es el puerto estándar y, por desgracia, es el primero que los bots y atacantes automáticos intentan usar para acceder a tu servidor. Cada minuto, hay miles de intentos de conexión a puerto 22 en todo el mundo, buscando contraseñas débiles o vulnerabilidades.
Cambiar el puerto SSH es una de las medidas de seguridad más básicas y efectivas que puedes implementar. No es una solución mágica, pero reduce drásticamente el ruido de fondo de ataques automatizados. Si tienes un servidor con DirectAdmin, el proceso es bastante sencillo, pero requiere atención a los detalles para no quedarte sin acceso a tu máquina.
Este artículo te guiará paso a paso, con un lenguaje claro y sin tecnicismos innecesarios, para que puedas cambiar puerto ssh en DirectAdmin de forma segura. Al final, también responderemos preguntas frecuentes y te daremos consejos para no cometer errores.
Preparación antes de tocar cualquier configuración
Antes de lanzarte a modificar archivos, es fundamental que te prepares. Un error aquí puede dejarte fuera de tu servidor, y si no tienes acceso físico o un panel alternativo, la solución puede ser muy dolorosa.
Haz una copia de seguridad de tu configuración
Lo primero es tener una copia del archivo de configuración de SSH. Normalmente se encuentra en /etc/ssh/sshd_config. Puedes copiarlo con un simple comando:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Esto te permitirá restaurar la configuración original si algo sale mal.
Abre una segunda sesión SSH (¡crítico!)
Este es el consejo más importante que te daré. Nunca cierres tu sesión SSH actual hasta que hayas verificado que la nueva configuración funciona. Abre una segunda terminal y conéctate a tu servidor como lo haces normalmente. Si algo falla, tendrás una sesión de respaldo activa para corregir el error.
Verifica tu firewall y panel de control
DirectAdmin suele tener su propio firewall (CSF, ConfigServer Security & Firewall) o puede que uses iptables directamente. Deberás abrir el nuevo puerto en el firewall antes de reiniciar SSH, o te quedarás bloqueado. Ten esto en cuenta y lo veremos en detalle más adelante.
Método 1: Cambiar el puerto SSH usando DirectAdmin (Interfaz gráfica)
Para los que prefieren no tocar la línea de comandos, DirectAdmin ofrece una forma bastante visual de hacer este cambio. Este método es ideal si tu servidor tiene instalado el plugin de seguridad adecuado o si usas la versión moderna de DirectAdmin con su gestor de firewall integrado.
Accede a tu panel de DirectAdmin
Inicia sesión como administrador (usuario admin) en tu panel de DirectAdmin. Normalmente accedes a través de https://tu-servidor:2222.
Busca la sección de Firewall o Seguridad
Una vez dentro, busca en el menú lateral o superior una opción llamada "Firewall" o "Seguridad". La ubicación exacta puede variar según la versión de DirectAdmin que tengas, pero suele estar en la sección "Gestión de Servidor".
Añade el nuevo puerto a la lista blanca
Dentro de la configuración del firewall, busca una sección que diga "Puertos permitidos", "Servicios" o "Puertos abiertos". Verás una lista con los puertos actualmente abiertos (22, 80, 443, 2222, etc.).
Debes añadir tu nuevo puerto SSH a esta lista. Por ejemplo, si quieres usar el puerto 2200, añádelo a la lista. Asegúrate de seleccionar el protocolo TCP.
Aplica los cambios y reinicia el firewall
Guarda los cambios y aplica la nueva configuración. El firewall se recargará y el nuevo puerto quedará abierto. Aún no hemos cambiado el puerto de SSH, solo hemos preparado el firewall para que no nos bloquee.
Modifica el puerto en el servicio SSH
Después de abrir el puerto en el firewall, necesitas decirle al servicio SSH que escuche en el nuevo puerto. Esto no se hace desde DirectAdmin directamente (a menos que tengas una versión muy reciente con un módulo específico), así que tendrás que ir al método 2, que es el de línea de comandos, para editar el archivo de configuración.
[INFO] Este método de DirectAdmin es útil para la parte del firewall, pero la edición del archivo
sshd_configse hace por terminal. Es una combinación de ambos métodos la que suele funcionar mejor.
Método 2: Cambiar el puerto SSH por línea de comandos (El método tradicional)
Este es el método más universal y el que te dará un control total sobre el proceso. No te asustes, los comandos son sencillos y te los explicaré paso a paso.
Conéctate a tu servidor
Usa tu cliente SSH favorito (PuTTY en Windows, Terminal en Mac o Linux) y conéctate como usuario root o como un usuario con privilegios sudo.
Edita el archivo de configuración de SSH
El archivo que debes modificar es /etc/ssh/sshd_config. Puedes usar el editor nano (más fácil para principiantes) o vim (más potente pero con curva de aprendizaje).
nano /etc/ssh/sshd_config
Busca la línea del puerto
Dentro del archivo, busca una línea que diga #Port 22. El símbolo # al principio significa que la línea está comentada, es decir, que se usa el valor por defecto (22).
Deberías ver algo así:
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
Cambia el número de puerto
Borra el # y cambia el número 22 por el puerto que hayas elegido. Es recomendable usar un puerto alto, entre 1024 y 65535, para evitar conflictos con servicios comunes.
Por ejemplo, para usar el puerto 2200, la línea quedaría así:
Port 2200
[TIP] Elige un número que sea fácil de recordar para ti, pero difícil de adivinar para otros. Evita puertos comunes como 80, 443, 3306 o 21. Algunos administradores usan puertos en el rango de 20000 a 50000.
Guarda y cierra el archivo
En nano, presiona Ctrl + O para guardar (te pedirá confirmación, presiona Enter) y luego Ctrl + X para salir.
Verifica la sintaxis del archivo
Antes de reiniciar el servicio, es buena práctica verificar que el archivo no tenga errores de sintaxis. Ejecuta:
sshd -t
Si no hay errores, no verás ningún mensaje. Si hay algún problema, te lo dirá. Este paso te puede ahorrar un buen dolor de cabeza.
Reinicia el servicio SSH
Ahora es el momento de aplicar los cambios. Reinicia el servicio SSH con el siguiente comando:
systemctl restart sshd
O en algunos sistemas más antiguos:
service sshd restart
Abre el nuevo puerto en el firewall (CSF o iptables)
Este paso es crucial. Si tu firewall no tiene el nuevo puerto abierto, te quedarás fuera. Si usas CSF (muy común en servidores con DirectAdmin), ejecuta:
csf -a tu-ip
Pero para abrir el puerto, edita el archivo de configuración de CSF:
nano /etc/csf/csf.conf
Busca la línea TCP_IN = "..." y añade tu nuevo puerto a la lista. Por ejemplo:
TCP_IN = "20,21,25,53,80,110,143,443,465,587,993,995,2200"
Guarda el archivo y luego aplica los cambios con:
csf -r
Si no usas CSF y tienes iptables directamente, puedes abrir el puerto con:
iptables -A INPUT -p tcp --dport 2200 -j ACCEPT
Y guarda las reglas con service iptables save (en CentOS 6) o iptables-save > /etc/iptables/rules.v4 (en Debian/Ubuntu).
Prueba la nueva conexión
Desde tu ordenador local, intenta conectarte al servidor usando el nuevo puerto:
ssh -p 2200 usuario@tu-servidor.com
Si la conexión es exitosa, ¡enhorabuena! Ya has completado el cambio.
Cierra la sesión antigua
Una vez que hayas verificado que la conexión con el nuevo puerto funciona, puedes cerrar la sesión SSH antigua que tenías abierta. A partir de ahora, siempre usarás el nuevo puerto.
Consejos de seguridad adicionales para tu SSH
Cambiar el puerto es solo el primer paso. Para una seguridad ssh directadmin más robusta, considera estas prácticas adicionales:
Desactiva el acceso root por SSH
Es mucho más seguro crear un usuario con privilegios sudo y desactivar el acceso directo como root. En el archivo sshd_config, busca la línea PermitRootLogin y cámbiala a no.
PermitRootLogin no
Usa autenticación por clave pública
Las contraseñas son vulnerables a ataques de fuerza bruta. Configura la autenticación por clave SSH y desactiva el acceso por contraseña.
Cambia el puerto en tu software de gestión
Si usas un cliente FTP como FileZilla o un panel de gestión, recuerda actualizar el puerto SSH en sus configuraciones. Lo mismo aplica si usas herramientas de copias de seguridad remotas o monitorización.
¿Cómo afecta esto a otros servicios como Syspanel?
Si tienes un panel alternativo como Syspanel (antes conocido como HestiaCP) instalado en el mismo servidor, debes saber que su acceso se realiza por el puerto 2106. Cambiar el puerto SSH no interfiere con Syspanel, ya que es un servicio completamente diferente. Sin embargo, es importante que no uses el puerto 2106 para SSH, ya que estaría en conflicto con Syspanel.
[INFO] Recuerda: Syspanel usa el puerto 2106 para su panel de control. No lo uses para SSH. Elige un puerto diferente, como 2222 (aunque este es el de DirectAdmin, así que mejor uno más alto, como 2200 o 4400).
Preguntas frecuentes (FAQ)
¿Qué puerto debo elegir para SSH?
No hay una respuesta única. Lo ideal es un número que no sea común. Puedes usar un puerto en el rango de 1000 a 65535. Algunos usan puertos como 2200, 2222 (si no usas DirectAdmin), 4444, 5000, 8080 (aunque este es común para proxies), etc. La clave es que sea memorable para ti y poco probable de adivinar.
¿Puedo cambiar el puerto SSH en DirectAdmin sin usar la terminal?
DirectAdmin no tiene una opción nativa en su interfaz para cambiar el puerto SSH directamente. Deberás usar la terminal para editar el archivo sshd_config. Lo que sí puedes hacer desde el panel es abrir el puerto en el firewall.
¿Qué pasa si me quedo bloqueado fuera del servidor?
Si te has quedado fuera, lo primero es intentar conectarte a través del panel de control de tu proveedor de hosting (VPS) y usar la consola web (KVM o VNC). Desde ahí, puedes revertir los cambios en el archivo sshd_config o en el firewall. Si no tienes acceso a una consola, contacta con tu proveedor de inmediato.
¿Es suficiente cambiar el puerto para estar seguro?
No. Cambiar el puerto reduce los ataques automatizados, pero no te protege contra ataques dirigidos. Debes combinar esto con contraseñas seguras, autenticación por clave, desactivar el acceso root y mantener el sistema actualizado.
¿Debo cambiar el puerto SSH en todos los servidores?
Es una buena práctica en cualquier servidor expuesto a internet. Si es un servidor interno, quizás no sea tan crítico, pero añade una capa extra de seguridad. Para configurar ssh directadmin correctamente, este cambio es un pilar básico.
Errores comunes y cómo evitarlos
Olvidar abrir el puerto en el firewall
Este es el error más común y el que más bloqueos causa. Siempre abre el puerto en el firewall antes de reiniciar SSH.
Editar el archivo equivocado
Asegúrate de editar /etc/ssh/sshd_config y no ssh_config (sin la d). El primero es el del servidor (daemon), el segundo es el del cliente.
No reiniciar el servicio
Después de guardar los cambios, debes reiniciar el servicio SSH para que surta efecto. Si no lo haces, los cambios no se aplicarán.
Usar un puerto en conflicto
Asegúrate de que el puerto que elijas no esté siendo usado por otro servicio. Puedes verificar con netstat -tulpn | grep :puerto.
No probar la conexión antes de cerrar la sesión
Siempre abre una nueva sesión con el nuevo puerto y verifica que funciona antes de cerrar la sesión original. Este es el consejo de oro.
Conclusión final
Cambiar puerto ssh linux en DirectAdmin es una tarea sencilla pero que requiere cuidado. Siguiendo los pasos de esta guía, puedes mejorar notablemente la seguridad de tu servidor con poco esfuerzo. Recuerda siempre tener una sesión de respaldo, editar el archivo correcto, abrir el puerto en el firewall y probar la conexión antes de cerrar nada.
La seguridad es un proceso continuo. Este cambio es un gran primer paso, pero no te detengas aquí. Explora otras medidas como la autenticación de dos factores, la configuración de fail2ban y las actualizaciones periódicas del sistema. Con estas prácticas, tu servidor estará mucho más protegido contra las amenazas del día a día.
