DirectAdmin: Cómo cambiar el puerto SSH y añadir claves públicas (seguridad básica)
¿Por qué es importante asegurar el acceso SSH en DirectAdmin?
Cuando tienes un servidor con DirectAdmin, el acceso por SSH (Secure Shell) es la puerta principal para administrar tu sistema. Sin embargo, si lo dejamos configurado con los valores por defecto, estamos invitando a que bots y atacantes intenten entrar. Dos de las medidas más básicas y efectivas son cambiar el puerto SSH y usar claves públicas en lugar de contraseñas.
En esta guía, paso a paso, te enseñaré a realizar ambas tareas desde el panel de DirectAdmin. No necesitas ser un experto en Linux, solo seguir las instrucciones con calma. Al final, tu servidor será mucho más difícil de vulnerar.
Conceptos básicos que debes conocer
Antes de empezar, aclaremos algunos términos para que no te pierdas.
¿Qué es el puerto SSH? Es como una puerta con un número específico en tu servidor. Por defecto, SSH usa el puerto 22. Si lo cambias a otro número (por ejemplo, el 2200), los atacantes que buscan en el puerto 22 ya no te encontrarán tan fácilmente.
¿Qué es una clave pública SSH? Es un método de autenticación mucho más seguro que una contraseña. Funciona con un par de archivos: una clave privada (que guardas tú, como una llave) y una clave pública (que pones en el servidor, como una cerradura). Es prácticamente imposible de adivinar o forzar.
¿Qué es DirectAdmin? Es un panel de control web para administrar servidores. Nos permite gestionar dominios, correos, bases de datos y, como veremos, también la seguridad del sistema.
[INFO] Esta guía está pensada para usuarios con DirectAdmin instalado en un servidor VPS o dedicado con sistema operativo Linux (CentOS, AlmaLinux, Ubuntu, etc.). Los pasos pueden variar ligeramente según la versión.
Primera medida: Cambiar el puerto SSH desde DirectAdmin
DirectAdmin incluye una herramienta llamada Seguridad del sistema o SSH Access en su panel. Vamos a usarla para modificar el puerto.
Paso 1: Accede a tu panel de control
Entra en tu panel de DirectAdmin como administrador (usuario admin). La URL suele ser algo como https://tu-servidor:2222. Si no sabes cómo acceder, contacta con tu proveedor de hosting.
Paso 2: Busca la sección de seguridad
Una vez dentro, busca en el menú lateral o en los iconos la opción que dice "Seguridad" o "Security". Dentro de esa sección, verás un apartado llamado "SSH Access" o "Acceso SSH". Haz clic ahí.
Paso 3: Configura el nuevo puerto
En la pantalla de SSH Access, encontrarás un campo para el puerto. Verás que está configurado con el valor 22. Cámbialo a un número que recuerdes y que no sea común. Algunas opciones seguras son: 2200, 2222, 3456, 7890. Evita puertos muy conocidos como 21, 80 o 443.
Escribe el número en el campo y haz clic en "Guardar" o "Save". DirectAdmin actualizará la configuración del servicio SSH automáticamente.
[TIP] Aunque cambies el puerto, el servicio SSH seguirá funcionando. Solo que ahora escuchará en el nuevo número. Es importante que anotes bien este valor porque lo necesitarás para conectarte la próxima vez.
Paso 4: Comprueba que todo funciona
Ahora, para conectarte por SSH, deberás especificar el nuevo puerto. Por ejemplo, si usas un cliente como PuTTY, en el campo "Port" escribirás 2200 (o el número que hayas elegido). Si usas la terminal de Linux o macOS, el comando sería:
ssh usuario@tu-servidor -p 2200
[WARNING] No cierres tu sesión actual de SSH hasta que hayas comprobado que puedes conectarte con el nuevo puerto. Si algo sale mal, podrías quedarte sin acceso al servidor. Si te bloqueas, contacta con tu proveedor para que lo revierta.
¿Por qué es útil cambiar el puerto?
La mayoría de los ataques automatizados escanean el puerto 22. Al cambiarlo, reduces drásticamente el ruido de bots y escaneos. No es una solución mágica (un atacante determinado puede encontrarlo), pero es una capa extra muy valiosa.
Segunda medida: Añadir claves públicas SSH
Ahora vamos a configurar la autenticación por claves públicas. Esto es como tener una llave de alta seguridad en lugar de una contraseña que se puede adivinar.
Paso 1: Genera tu par de claves (si no lo tienes)
Necesitas generar una clave pública y una privada en tu computadora local. Si usas Linux o macOS, abre la terminal y escribe:
ssh-keygen -t rsa -b 4096
Te preguntará dónde guardar el archivo (pulsa Enter para usar la ubicación por defecto) y si quieres una frase de contraseña (passphrase). Te recomiendo poner una, aunque no es obligatorio.
Si usas Windows, puedes usar PuTTYgen o la terminal de Git Bash.
Paso 2: Copia el contenido de tu clave pública
Se habrá creado un archivo llamado id_rsa.pub (la clave pública) y otro id_rsa (la privada, ¡no la compartas jamás!). Abre el archivo .pub con un editor de texto y copia todo su contenido. Empieza por ssh-rsa y termina con tu usuario y host.
Paso 3: Añade la clave en DirectAdmin
Vuelve a la sección "SSH Access" en DirectAdmin. Busca la pestaña o botón que dice "Add Key" o "Añadir clave". Se abrirá un formulario.
Pega el contenido de tu clave pública en el campo correspondiente. Asegúrate de que no haya espacios extra ni saltos de línea. Dale un nombre descriptivo, como "Mi portátil personal".
Haz clic en "Guardar". DirectAdmin añadirá la clave al archivo authorized_keys de tu usuario.
[INFO] Puedes añadir varias claves públicas, por ejemplo, una para tu ordenador de casa y otra para tu móvil. Así podrás acceder desde varios dispositivos.
Paso 4: Conéctate usando tu clave
Ahora, cuando te conectes por SSH, en lugar de pedirte contraseña, el servidor usará tu clave privada para verificar tu identidad. Si usas la terminal, simplemente escribe:
ssh usuario@tu-servidor -p 2200
Si configuraste una passphrase, te la pedirá. Si todo está bien, entrarás directamente.
Configuración avanzada: Desactivar el acceso por contraseña
Una vez que hayas comprobado que tu clave funciona perfectamente, puedes desactivar el acceso por contraseña. Esto hace que sea imposible entrar con una contraseña, incluso si alguien la adivina.
[WARNING] Este paso es crítico. Si desactivas las contraseñas y pierdes tu clave privada, te quedarás fuera del servidor para siempre. Asegúrate de tener una copia de seguridad de tu clave en un lugar seguro.
Paso 1: Edita el archivo de configuración de SSH
Conéctate por SSH con tu clave y abre el archivo de configuración. El comando es:
sudo nano /etc/ssh/sshd_config
Paso 2: Cambia la directiva PasswordAuthentication
Busca la línea que dice #PasswordAuthentication yes. Descoméntala (quita la #) y cambia yes por no. Debe quedar así:
PasswordAuthentication no
Guarda los cambios (en nano: Ctrl+O, luego Enter, y Ctrl+X para salir).
Paso 3: Reinicia el servicio SSH
Para que los cambios surtan efecto, reinicia el servicio. El comando varía según el sistema:
sudo systemctl restart sshd
O si usas CentOS/AlmaLinux:
sudo systemctl restart ssh
Paso 4: Prueba de nuevo
Abre una nueva terminal e intenta conectarte. Si todo está bien, entrarás sin problema. Si algo falla, revisa que tu clave esté bien configurada.
Preguntas frecuentes (FAQ) sobre seguridad SSH en DirectAdmin
¿Qué hago si olvido el puerto que configuré?
Puedes entrar al panel de DirectAdmin y revisar la sección SSH Access. Ahí verás el puerto configurado. Si no puedes acceder al panel, contacta con tu proveedor.
¿Puedo usar el mismo puerto para FTP y SSH?
No es recomendable. Cada servicio debe tener su propio puerto para evitar conflictos. SSH usa el 22 por defecto y FTP el 21. Al cambiarlos, asegúrate de que no se solapen.
¿Las claves públicas funcionan con cualquier usuario?
Sí, puedes configurar claves para el usuario admin y para cualquier usuario que tenga acceso SSH. DirectAdmin te permite gestionarlas por separado.
¿Qué es mejor: cambiar el puerto o usar claves?
Ambas son complementarias. El cambio de puerto reduce el ruido, pero las claves son la protección real. Te recomiendo hacer las dos cosas.
¿Cómo puedo saber si alguien intenta acceder a mi servidor?
Puedes revisar los registros del sistema. En Linux, el archivo /var/log/secure (en CentOS) o /var/log/auth.log (en Ubuntu) muestra los intentos de conexión. DirectAdmin también tiene herramientas de monitoreo.
¿Qué otros ajustes de seguridad debo considerar?
Además de lo mencionado, te sugiero:
- Mantener el sistema y DirectAdmin siempre actualizados.
- Usar un firewall (como CSF) para limitar el acceso por IP.
- Configurar el bloqueo de IPs tras varios intentos fallidos.
- Usar una frase de contraseña (passphrase) en tu clave privada.
Conclusión y buenas prácticas
Asegurar tu servidor no es un lujo, es una necesidad en el mundo digital actual. Cambiar el puerto SSH y usar claves públicas son dos pasos sencillos pero poderosos que puedes hacer desde DirectAdmin sin ser un experto.
Recuerda siempre:
- Anota los cambios que hagas (puerto, ubicación de claves).
- Prueba cada configuración antes de cerrar tu sesión actual.
- Guarda una copia de seguridad de tu clave privada en un lugar seguro (como un gestor de contraseñas).
[TIP] Si en algún momento te sientes perdido, no dudes en contactar con el soporte de tu proveedor de hosting. Ellos pueden ayudarte a revertir cualquier cambio o a resolver incidencias.
Resumen rápido de los pasos
- Cambiar puerto SSH: Panel de DirectAdmin → Seguridad → SSH Access → Cambiar el puerto 22 por uno nuevo → Guardar.
- Generar claves: En tu ordenador, usa
ssh-keygenpara crear el par de claves. - Añadir clave pública: En DirectAdmin → SSH Access → Add Key → Pega el contenido → Guardar.
- Desactivar contraseñas (opcional pero recomendado): Edita
sshd_config→PasswordAuthentication no→ Reinicia SSH.
Con esto, tu servidor estará mucho más protegido. La seguridad servidor es un proceso continuo, así que te animo a seguir aprendiendo y aplicando más medidas. ¡Buen trabajo y a seguir fortaleciendo tu infraestructura!
