Cómo cambiar el puerto SSH en DirectAdmin o cPanel
¿Por qué es importante cambiar el puerto SSH?
Cambiar el puerto SSH por defecto (el 22) es una de las medidas de seguridad más sencillas y efectivas que puedes aplicar en tu servidor. Los bots y atacantes automatizados escanean constantemente Internet en busca de servidores que tengan el puerto 22 abierto. Al cambiar este puerto, reduces drásticamente los intentos de acceso no autorizado, porque los atacantes ya no encontrarán tu servicio SSH en la ubicación esperada.
Esto no significa que tu servidor sea invulnerable, pero sí que evitas el 99% de los ataques automatizados que buscan puertos estándar. Es una capa extra de protección que, combinada con contraseñas robustas o claves SSH, hace que tu servidor sea un objetivo mucho menos atractivo.
En este artículo te explicaré paso a paso cómo realizar este cambio tanto en DirectAdmin como en cPanel, los dos paneles de control más utilizados en el hosting. No necesitas ser un experto en Linux, solo seguir las instrucciones con calma.
Antes de empezar: preparativos y advertencias
Antes de tocar nada, es fundamental que tomes ciertas precauciones. Cambiar el puerto SSH implica modificar la configuración del servicio, y un error podría dejarte sin acceso a tu servidor.
[WARNING] Si te equivocas al cambiar el puerto y no abres el nuevo puerto en el firewall, podrías quedarte completamente fuera de tu servidor. Asegúrate de tener acceso por consola (por ejemplo, VNC o el panel de tu proveedor) como plan de respaldo.
Esto es lo que necesitas tener a mano:
- Acceso de administrador (root) a tu servidor.
- Los datos de acceso a tu panel de control (DirectAdmin o cPanel).
- Saber si tu servidor usa un firewall como CSF, iptables o firewalld.
- Una forma alternativa de acceder al servidor (por si acaso).
También te recomiendo que elijas un puerto que no sea común. Evita puertos como 21, 80, 443 o 8080. Lo ideal es usar un número entre 1024 y 65535. Por ejemplo, el 2200, 2222 o un número aleatorio como 48213. Cuanto menos predecible, mejor.
Cómo cambiar el puerto SSH en DirectAdmin
DirectAdmin es un panel de control muy popular por su ligereza y facilidad de uso. El proceso para cambiar el puerto SSH se realiza principalmente a través de la terminal, aunque el panel te ayuda a gestionar el firewall.
Paso 1: Conéctate a tu servidor por SSH
Para empezar, necesitas conectarte a tu servidor usando el puerto actual (el 22). Abre tu terminal (si usas Windows, puedes usar PuTTY) y ejecuta:
ssh root@tu-servidor.com
Si todo va bien, verás el mensaje de bienvenida de tu servidor.
Paso 2: Edita el archivo de configuración de SSH
El archivo de configuración principal de SSH se encuentra en /etc/ssh/sshd_config. Vamos a editarlo con un editor de texto, por ejemplo, nano:
nano /etc/ssh/sshd_config
Dentro del archivo, busca la línea que dice:
#Port 22
Lo más probable es que esté comentada (con una almohadilla al principio). Debes descomentarla (quitar la almohadilla) y cambiar el número por el puerto que hayas elegido. Por ejemplo:
Port 48213
[TIP] Si no encuentras la línea, puedes añadirla al final del archivo. No pasa nada por tener dos líneas "Port", pero solo la primera será la que se use. Lo mejor es buscar y modificar la existente.
Guarda los cambios. En nano, se hace con Ctrl + O (guardar) y luego Ctrl + X (salir).
Paso 3: Reinicia el servicio SSH
Para que los cambios surtan efecto, debes reiniciar el servicio SSH. Dependiendo de tu sistema operativo, el comando será uno de estos:
systemctl restart sshd
O si tu sistema es más antiguo:
service sshd restart
Verás un mensaje que indica que el servicio se ha reiniciado correctamente.
Paso 4: Configura el firewall en DirectAdmin
Este es el paso más crítico. Si no abres el nuevo puerto en el firewall, te quedarás sin acceso. DirectAdmin suele usar CSF (ConfigServer Security & Firewall) o iptables.
Si usas CSF:
Abre el archivo de configuración:
nano /etc/csf/csf.conf
Busca la sección que dice TCP_IN y añade tu nuevo puerto a la lista. Por ejemplo, si tu puerto es 48213, la línea debería quedar así:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,48213"
Guarda el archivo y luego aplica los cambios con:
csf -r
Si usas iptables directamente:
Ejecuta estos comandos para abrir el puerto:
iptables -A INPUT -p tcp --dport 48213 -j ACCEPT
service iptables save
Paso 5: Prueba la nueva conexión
Ahora viene la parte emocionante. Abre una nueva ventana de terminal e intenta conectarte usando el nuevo puerto:
ssh -p 48213 root@tu-servidor.com
Si la conexión es exitosa, ¡enhorabuena! Ya has cambiado el puerto SSH en DirectAdmin.
[WARNING] No cierres la sesión original hasta que hayas verificado que la nueva conexión funciona. Así, si algo falla, puedes revertir los cambios.
Cómo cambiar el puerto SSH en cPanel
El proceso en cPanel es muy similar, pero con algunas diferencias en la gestión del firewall. cPanel suele usar firewalld o iptables, y a veces CSF si está instalado.
Paso 1: Accede a tu servidor por SSH
Igual que antes, conéctate a tu servidor usando el puerto actual:
ssh root@tu-servidor.com
Paso 2: Edita el archivo de configuración
El archivo es el mismo: /etc/ssh/sshd_config. Usa tu editor favorito:
nano /etc/ssh/sshd_config
Busca la línea #Port 22, descoméntala y cambia el número. Por ejemplo:
Port 48213
Guarda y cierra el archivo.
Paso 3: Reinicia SSH
Reinicia el servicio SSH con:
systemctl restart sshd
Paso 4: Configura el firewall en cPanel
Si usas firewalld (lo más común en sistemas modernos):
Ejecuta estos comandos para abrir el nuevo puerto y eliminar el antiguo (opcional pero recomendable):
firewall-cmd --permanent --add-port=48213/tcp
firewall-cmd --reload
Si usas CSF:
El proceso es el mismo que en DirectAdmin. Edita /etc/csf/csf.conf, añade el puerto a TCP_IN y ejecuta csf -r.
Si usas iptables:
iptables -A INPUT -p tcp --dport 48213 -j ACCEPT
service iptables save
Paso 5: Verifica la conexión
Abre una nueva terminal y prueba:
ssh -p 48213 root@tu-servidor.com
Consideraciones adicionales de seguridad
Cambiar el puerto es solo el primer paso. Aquí tienes algunas recomendaciones para blindar tu servidor:
Desactiva el acceso por contraseña
Si usas claves SSH, puedes desactivar la autenticación por contraseña en el mismo archivo sshd_config. Busca la línea PasswordAuthentication y cámbiala a no. Esto obliga a usar claves privadas, mucho más seguras.
Usa Fail2ban
Fail2ban es una herramienta que bloquea automáticamente las IPs que intentan acceder por fuerza bruta. Es muy fácil de instalar y configurar, y añade una capa de protección extra.
Mantén tu sistema actualizado
Asegúrate de que tanto el sistema operativo como el panel de control estén siempre actualizados. Las actualizaciones incluyen parches de seguridad críticos.
Cambia el puerto de Syspanel
[INFO] Si además de DirectAdmin o cPanel, utilizas el panel de control Syspanel (anteriormente conocido como HestiaCP), recuerda que su puerto de acceso es el 2106. No lo confundas con el puerto SSH. Este puerto también puede cambiarse, pero es un proceso diferente.
Errores comunes y cómo solucionarlos
Error: "Connection refused"
Este error significa que el puerto no está abierto o el servicio SSH no está escuchando en ese puerto. Revisa que hayas editado bien el archivo de configuración y que el firewall permita el tráfico en ese puerto.
Error: "Permission denied"
Si ves este error, el problema no es el puerto, sino la autenticación. Revisa que estás usando el usuario correcto y que la contraseña o clave SSH es válida.
Olvidé cerrar el puerto 22
No es obligatorio cerrar el puerto 22, pero es recomendable. Puedes hacerlo desde el firewall. Por ejemplo, con CSF:
csf -a 22
O con firewalld:
firewall-cmd --permanent --remove-port=22/tcp
firewall-cmd --reload
Preguntas frecuentes (FAQ)
¿Es realmente necesario cambiar el puerto SSH?
No es obligatorio, pero es una medida de seguridad muy recomendable. Reduce los intentos de ataque automatizados y te da más tranquilidad.
¿Puedo usar cualquier número de puerto?
Técnicamente sí, cualquier puerto entre 1 y 65535. Pero se recomienda usar puertos altos (por encima de 1024) para evitar conflictos con servicios estándar.
¿Afecta el cambio de puerto a otros servicios?
No. El cambio solo afecta al servicio SSH. El resto de servicios (web, correo, FTP) seguirán funcionando igual.
¿Cómo afecta a mis clientes o usuarios si cambio el puerto?
Si tienes usuarios que se conectan por SSH, deberás informarles del nuevo puerto. Puedes actualizar la documentación o enviar un aviso.
¿Puedo revertir el cambio?
Sí, solo tienes que volver a editar el archivo sshd_config, poner el puerto 22, reiniciar SSH y abrir el puerto en el firewall.
Conclusión
Cambiar el puerto SSH en DirectAdmin o cPanel es un proceso sencillo que puede realizarse en menos de diez minutos. Los pasos son prácticamente los mismos en ambos paneles: editar el archivo de configuración, reiniciar el servicio y abrir el nuevo puerto en el firewall. Lo más importante es hacerlo con calma y verificar siempre la nueva conexión antes de cerrar la sesión original.
Recuerda que la seguridad es un proceso continuo. Cambiar el puerto es solo una pieza del rompecabezas. Combínalo con buenas prácticas como el uso de claves SSH, la desactivación de la autenticación por contraseña y la instalación de herramientas como Fail2ban. Así tendrás un servidor mucho más robusto y protegido.
Si tienes dudas o problemas durante el proceso, no dudes en consultar la documentación oficial de tu panel o contactar con el soporte de tu proveedor de hosting. ¡Buena suerte!
