DirectAdmin: Cómo configurar el acceso SSH y claves públicas
¿Qué es el acceso SSH y por qué te conviene configurarlo en DirectAdmin?
El acceso SSH (Secure Shell) es como una llave maestra que te permite entrar a tu servidor desde cualquier lugar, usando una terminal o consola de texto. A diferencia del panel de control, que es gráfico, SSH te da control total sobre tu hosting: puedes mover archivos, cambiar permisos, ejecutar scripts, reiniciar servicios y hacer tareas avanzadas que desde DirectAdmin no se pueden realizar.
Para los que empiezan, configurar ssh directadmin puede sonar a algo de hackers, pero te aseguro que es más simple de lo que crees. Además, es la base para trabajar con claves públicas SSH, que son mucho más seguras que las contraseñas tradicionales.
En este artículo te voy a enseñar, paso a paso y sin tecnicismos raros, cómo habilitar el acceso ssh directadmin, generar tus claves, subirlas al servidor y conectarte de forma segura. También te daré trucos para solucionar los problemas más comunes.
Requisitos previos antes de empezar
Antes de lanzarnos a configurar nada, necesitas tener tres cosas claras:
-
Tener un plan de hosting que incluya acceso SSH. No todos los planes lo ofrecen, especialmente los compartidos más básicos. Si no lo tienes, contacta con tu proveedor y pregunta si puedes habilitarlo.
-
Conocer tu IP pública. Esto es importante porque muchos servidores solo permiten conexiones SSH desde IPs autorizadas. Puedes saber tu IP visitando sitios como
ipinfo.ioowhatismyip.com. -
Tener instalado un cliente SSH. Si usas Windows, te recomiendo
PuTTYo la terminal integrada de Windows 10/11 (PowerShell o CMD). En macOS o Linux, ya tienes la terminal integrada, no necesitas instalar nada.
Activar el acceso SSH desde DirectAdmin
El primer paso es habilitar el servicio SSH en tu cuenta. DirectAdmin lo tiene muy bien escondido, pero no te preocupes, que te lo enseño.
Paso 1: Accede a tu panel de DirectAdmin
Entra a tu panel de control usando la URL que te dio tu proveedor (normalmente algo como https://tu-dominio.com:2222). Introduce tu usuario y contraseña.
Paso 2: Busca la sección de gestión de SSH
Una vez dentro, busca en el menú superior o lateral algo que se llame "SSH Access" o "Acceso SSH". Dependiendo de la versión de DirectAdmin que tenga tu servidor, puede estar en:
- Cuenta (Account Manager) > SSH Access
- Administración de archivos > SSH Access
- O directamente en el buscador del panel escribiendo "SSH".
Paso 3: Habilita el acceso y configura los permisos
En esa sección verás una pantalla con varias opciones. Lo que te interesa es:
- Habilitar acceso SSH: Marca la casilla para activarlo.
- Elegir método de autenticación: Te recomiendo que elijas "SSH Keys" (claves públicas) en lugar de contraseña. Es mucho más seguro.
- IPs permitidas: Si tu proveedor te lo pide, añade tu IP pública aquí. Si no, puedes dejarlo en blanco para permitir todas (aunque no es lo recomendable).
[WARNING] Si tu IP es dinámica (cambia cada cierto tiempo), añadir solo tu IP actual puede dejar de funcionar cuando tu proveedor te asigne una nueva. En ese caso, o usas una IP fija (VPN o IP estática), o habilitas el acceso desde todas las IPs, pero con claves SSH muy robustas.
Paso 4: Guarda los cambios y reinicia el servicio (si es necesario)
Una vez hayas configurado todo, pulsa el botón de Guardar o Save. En algunos casos, DirectAdmin te pedirá que reinicies el servicio SSH para que los cambios surtan efecto. Si te aparece esa opción, hazlo.
[TIP] Si no ves la opción de SSH en tu panel, es que tu plan no lo incluye. Contacta con tu proveedor y pregunta si pueden habilitarlo manualmente o si necesitas cambiar de plan.
Generar claves públicas SSH (la forma segura de conectarte)
Ahora que ya tienes el acceso ssh directadmin habilitado, toca crear las claves publicas ssh. Esto es como tener una cerradura y una llave: la clave pública se queda en el servidor, y la privada, solo en tu ordenador. Así nadie puede entrar sin tu llave.
¿Qué es una clave pública y una privada?
Imagina que la clave pública es una caja fuerte que cualquiera puede ver, pero solo se abre con la llave privada. Tú guardas la llave privada en tu ordenador, y el servidor tiene la caja fuerte (la clave pública). Cuando te conectas, el servidor comprueba que tu llave encaja.
Generar claves en Windows con PuTTY
-
Descarga PuTTYgen. Es una herramienta gratuita que viene con PuTTY. Búscala en Google y descárgala.
-
Abre PuTTYgen y en el apartado "Type of key to generate", elige RSA y en "Number of bits" pon 2048 o 4096 (cuanto más, mejor).
-
Pulsa Generate y mueve el ratón por la ventana para generar aleatoriedad. Es un paso divertido, parece un juego.
-
Cuando termine, verás dos recuadros: Public key y Private key. Copia la clave pública (es un texto largo que empieza por
ssh-rsa). Guárdala en un bloc de notas. -
Pulsa Save private key y guárdala en un sitio seguro de tu ordenador. Te pedirá confirmación porque no has puesto contraseña (passphrase). Si quieres, puedes ponerle una, pero no es obligatorio.
Generar claves en macOS o Linux
Abre la terminal y escribe:
ssh-keygen -t rsa -b 4096 -C "tu_correo@ejemplo.com"
Te pedirá dónde guardarla (por defecto ~/.ssh/id_rsa) y si quieres ponerle una contraseña. Pulsa Enter para dejarla vacía o ponle una si quieres más seguridad.
Se te generarán dos archivos: id_rsa (privada) y id_rsa.pub (pública). No compartas nunca la privada.
Subir tu clave pública a DirectAdmin
Ya tienes tu par de claves, ahora toca subir la pública al servidor. Hay dos formas de hacerlo.
Método 1: Desde el panel de DirectAdmin
-
Vuelve a la sección SSH Access de DirectAdmin.
-
Busca la pestaña o botón que diga "Manage SSH Keys" o "Gestionar claves".
-
Pulsa en "Add" o "Añadir clave".
-
Pega el contenido de tu clave pública (la que empieza por
ssh-rsa) en el campo correspondiente. -
Ponle un nombre descriptivo (por ejemplo, "Mi portátil") y guarda.
Método 2: Usando el comando ssh-copy-id (avanzado)
Si estás en macOS o Linux, puedes hacerlo directamente desde la terminal:
ssh-copy-id -i ~/.ssh/id_rsa.pub tu_usuario@tu-servidor.com
Te pedirá tu contraseña la primera vez, y luego copiará la clave automáticamente.
[INFO] Si tu proveedor te ha dado un puerto SSH distinto al 22 (por ejemplo, el 2222), añade
-p 2222al comando. Por ejemplo:ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2222 tu_usuario@tu-servidor.com.
Conectarte por SSH a tu servidor
Llegó el momento de la verdad. Vamos a conectarnos.
Desde Windows con PuTTY
-
Abre PuTTY.
-
En Host Name, escribe la IP o dominio de tu servidor (por ejemplo,
tu-servidor.com). -
En Port, pon el puerto SSH (normalmente 22, pero si tu proveedor usa otro, cámbialo).
-
En Connection type, elige SSH.
-
En el panel de la izquierda, ve a Connection > SSH > Auth y busca el botón Browse para seleccionar tu clave privada (la que guardaste con PuTTYgen).
-
Pulsa Open. Si es la primera vez, te avisará de que el host no es conocido. Acepta.
-
Te pedirá tu usuario (el mismo que usas para DirectAdmin) y listo.
Desde macOS o Linux
Abre la terminal y escribe:
ssh -i ~/.ssh/id_rsa tu_usuario@tu-servidor.com
Si tu puerto es distinto, añade -p puerto. Si no especificas -i, usará la clave por defecto ~/.ssh/id_rsa.
[TIP] Si te da un error de permisos, asegúrate de que tu clave privada tiene permisos restringidos. En Linux/macOS, ejecuta
chmod 600 ~/.ssh/id_rsa.
Configurar SSH para que sea más seguro
Tener claves publicas ssh ya es un gran avance, pero puedes reforzar aún más la seguridad.
Deshabilitar el acceso por contraseña
Una vez que compruebes que las claves funcionan, puedes desactivar el acceso por contraseña. Esto es muy recomendable porque las contraseñas son fáciles de adivinar (o de robar por fuerza bruta).
Para ello, edita el archivo /etc/ssh/sshd_config (si tienes acceso root) y cambia:
PasswordAuthentication yes
por
PasswordAuthentication no
Luego reinicia el servicio SSH con service sshd restart o systemctl restart sshd.
[WARNING] Haz esto SOLO después de probar que las claves funcionan. Si te equivocas, podrías quedarte fuera de tu servidor para siempre.
Cambiar el puerto SSH
Otra capa de seguridad es cambiar el puerto 22 por otro (por ejemplo, el 22022). Aunque no es infalible, reduce los ataques automatizados.
En el mismo archivo, cambia:
Port 22
por
Port 22022
Y recuerda que, a partir de ahora, tendrás que especificar ese puerto en todas tus conexiones.
Limitar el acceso por IP
Si sabes que siempre te conectas desde las mismas IPs, puedes configurar el firewall (iptables o CSF) para que solo acepte conexiones SSH desde esas IPs. Esto es muy efectivo.
Problemas comunes y cómo solucionarlos
Aquí te dejo una lista de los fallos más típicos y su solución.
"Permission denied (publickey)"
Esto significa que el servidor no reconoce tu clave. Las causas más comunes son:
- Has copiado mal la clave pública. Vuelve a copiarla y pégala con cuidado.
- La clave privada no es la correcta. Asegúrate de que estás usando el par que generaste.
- El usuario no es el correcto. En DirectAdmin, el usuario SSH es el mismo que el usuario del panel, no el root.
"Connection timed out"
El servidor no responde. Puede ser:
- El puerto está bloqueado. Comprueba que el puerto SSH (22 o el que hayas configurado) está abierto en el firewall.
- La IP está bloqueada. Si configuraste IPs permitidas y tu IP ha cambiado, no podrás entrar.
- El servicio SSH está caído. Contacta con tu proveedor.
"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED"
Esto pasa cuando el servidor ha cambiado su huella (por ejemplo, tras una reinstalación). Para solucionarlo, edita el archivo ~/.ssh/known_hosts y borra la línea correspondiente a tu servidor. O ejecuta:
ssh-keygen -R tu-servidor.com
Preguntas frecuentes (FAQ)
¿Puedo usar SSH en hosting compartido?
Depende del proveedor. Algunos lo permiten, pero con restricciones (solo puedes acceder a tu carpeta, no a todo el servidor). Otros lo reservan para VPS o dedicados. Pregunta siempre.
¿Qué es mejor: contraseña o claves SSH?
Las claves públicas SSH son infinitamente más seguras. Una contraseña se puede adivinar o robar; una clave privada es casi imposible de replicar.
¿Puedo tener varias claves públicas para varios dispositivos?
Sí, puedes subir tantas como quieras. En DirectAdmin, solo tienes que añadir cada clave pública en la sección correspondiente.
¿Qué hago si pierdo mi clave privada?
Tendrás que generar un nuevo par de claves y subir la nueva pública al servidor. Si desactivaste las contraseñas, es posible que tengas que pedir ayuda a tu proveedor para recuperar el acceso.
¿Es lo mismo SSH que SFTP?
No exactamente. SSH es el protocolo de conexión segura, y SFTP es un protocolo de transferencia de archivos que usa SSH. Si tienes SSH activado, normalmente también tienes SFTP.
Conclusión y siguientes pasos
Configurar ssh directadmin y las claves publicas ssh es una de las mejores inversiones de tiempo que puedes hacer si quieres tener un control total sobre tu hosting. No solo es más seguro, sino que te abre la puerta a herramientas avanzadas como Git, Composer, tareas cron personalizadas o la gestión de bases de datos desde la terminal.
Ahora que ya sabes cómo hacerlo, te animo a que lo pruebes. Empieza generando tus claves, súbelas al panel y haz tu primera conexión. Si te surge cualquier duda, vuelve a este artículo y repasa los pasos.
[TIP] Si tu proveedor utiliza Syspanel (HestiaCP) en lugar de DirectAdmin, el proceso es muy similar. Eso sí, el puerto de acceso al panel es el 2106, no el 2222. La gestión de SSH suele estar en "Cuenta" > "Acceso SSH".
Y recuerda: la seguridad es un proceso continuo. Revisa periódicamente tus claves, cambia los puertos si notas actividad sospechosa y no compartas nunca tu clave privada con nadie.
