Cómo habilitar la autenticación SSH con llaves en Plesk (sin contraseña)
¿Por qué usar llaves SSH en lugar de contraseñas?
La autenticación SSH con llaves es, hoy en día, el estándar de oro para administrar servidores de forma segura. Si estás usando Plesk para gestionar tus sitios web, habilitar este método te permitirá conectarte a tu servidor sin necesidad de escribir una contraseña cada vez, pero, sobre todo, elevará drásticamente la seguridad de tu acceso.
Piénsalo de esta manera: una contraseña es algo que sabes y que puede ser adivinada, filtrada o interceptada. Una llave SSH es un archivo criptográfico único que posees. Es como tener una llave física de alta seguridad para tu casa, imposible de duplicar sin el original.
En este artículo, te guiaré paso a paso para que configures la autenticación SSH con llaves en Plesk. No necesitas ser un experto en sistemas, solo seguir cada instrucción con calma. Al final, tendrás un acceso más rápido y mucho más seguro a tu servidor.
¿Qué necesitas antes de empezar?
Antes de lanzarnos a la acción, asegurémonos de que tienes todo lo necesario. No te preocupes, es muy poco.
- Acceso a Plesk: Necesitas ser administrador del servidor o tener permisos de acceso root a través de Plesk.
- Acceso SSH actual: Debes poder conectarte al servidor por SSH usando una contraseña (aunque sea por única vez) para configurar todo.
- Un ordenador local: Desde donde te conectarás. Puede ser Windows, macOS o Linux. En este artículo usaré ejemplos para los tres sistemas.
- Paciencia: Es un proceso de 15 minutos, pero es importante no saltarse pasos.
[INFO] Si tu servidor ya tiene deshabilitado el acceso por contraseña y no tienes una llave configurada, deberás contactar con tu proveedor de hosting para que te asistan en la recuperación del acceso. Este tutorial asume que aún puedes entrar con tu usuario y contraseña.
Paso 1: Generar tu par de llaves SSH localmente
El primer paso es crear un par de llaves en tu ordenador local. Este par consiste en dos archivos:
- Llave privada: Es tu secreto. Nunca debe salir de tu ordenador ni compartirse con nadie.
- Llave pública: Es la que instalaremos en el servidor. Es segura de compartir.
En Windows (usando PowerShell o CMD)
Si usas Windows 10 o superior, abre PowerShell o el Símbolo del sistema y escribe:
ssh-keygen -t ed25519 -C "tu_correo@ejemplo.com"
[TIP] Usamos el algoritmo
ed25519porque es moderno, rápido y muy seguro. Si tu sistema es antiguo y no lo soporta, puedes usarssh-keygen -t rsa -b 4096en su lugar.
El sistema te preguntará dónde guardar la llave. Presiona Enter para usar la ubicación predeterminada (C:\Users\TuUsuario\.ssh\id_ed25519).
Luego te pedirá una frase de contraseña (passphrase). No la dejes vacía. Aunque el objetivo es no escribir contraseñas cada vez, esta frase protege tu llave privada si alguien roba tu ordenador. Puedes configurarla para que se guarde en el administrador de credenciales de Windows y solo la escribas una vez.
En macOS y Linux
Abre la Terminal y ejecuta el mismo comando:
ssh-keygen -t ed25519 -C "tu_correo@ejemplo.com"
Sigue las mismas indicaciones. La llave se guardará en /home/tu_usuario/.ssh/.
Paso 2: Localizar y copiar tu llave pública
Después de generar las llaves, necesitas copiar el contenido del archivo público. La extensión de este archivo es .pub.
Para Windows
En PowerShell, escribe:
cat $env:USERPROFILE\.ssh\id_ed25519.pub
Se mostrará una larga cadena de texto. Cópiala completa. Empieza con ssh-ed25519 AAAA....
Para macOS y Linux
En la Terminal, escribe:
cat ~/.ssh/id_ed25519.pub
Copia todo el texto que aparece.
[WARNING] Asegúrate de copiar la llave pública (la que termina en
.pub), no la privada. Si copias la privada, estarías exponiendo tu acceso a cualquiera que la vea.
Paso 3: Añadir la llave pública en Plesk
Ahora viene la parte específica de Plesk. Vamos a subir esa llave a tu servidor.
- Inicia sesión en tu panel de control de Plesk.
- En el menú lateral izquierdo, busca la sección "Cuentas de usuario" o ve directamente a tu nombre de usuario en la esquina superior derecha.
- Haz clic en tu nombre de usuario y selecciona "Configuración" o "Perfil", dependiendo de la versión de Plesk.
- Busca la pestaña o sección llamada "Llaves SSH".
- Haz clic en "Añadir llave pública" o "Importar llave".
- Se abrirá un cuadro de texto. Pega el contenido de tu llave pública que copiaste antes.
- Ponle un nombre descriptivo, por ejemplo, "Mi portátil personal".
- Guarda los cambios.
[INFO] En algunas versiones de Plesk, esta opción puede estar dentro de "Acceso SSH" o "Gestión de llaves". Si no la encuentras, usa el buscador de Plesk en la barra superior y escribe "SSH".
Paso 4: Verificar la conexión sin contraseña
Este es el momento de la verdad. Vamos a probar si todo funciona.
Desde tu ordenador local, abre tu terminal (PowerShell, CMD o Terminal) y conéctate a tu servidor usando tu usuario y su IP o dominio:
ssh usuario@tudominio.com
O si usas un puerto diferente (por ejemplo, el 2222):
ssh -p 2222 usuario@tudominio.com
Si todo ha ido bien, no te pedirá contraseña. Se conectará directamente.
[TIP] La primera vez que te conectes, verás un mensaje preguntando si confías en el host. Escribe
yesy presiona Enter.
Paso 5: Deshabilitar la autenticación por contraseña (Opcional pero muy recomendado)
Una vez que has confirmado que las llaves funcionan, puedes dar el paso final para blindar tu servidor: desactivar el acceso por contraseña. De esta forma, solo las personas con la llave privada correcta podrán entrar.
Para ello, debes editar el archivo de configuración de SSH en el servidor. Puedes hacerlo desde Plesk o desde la propia terminal.
Desde Plesk (la forma más fácil)
- En Plesk, ve a "Herramientas y configuración".
- Busca la sección "Servidor" y haz clic en "Configuración de SSH".
- Verás una opción que dice "Autenticación por contraseña". Cámbiala a "Deshabilitado".
- Guarda los cambios.
Desde la terminal (la forma manual)
Si prefieres hacerlo manualmente, edita el archivo /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
Busca la línea que dice #PasswordAuthentication yes y cámbiala a:
PasswordAuthentication no
Guarda el archivo (Ctrl+O, luego Enter, y Ctrl+X para salir en nano) y reinicia el servicio SSH:
sudo systemctl restart sshd
[WARNING] ¡MUY IMPORTANTE! Antes de deshabilitar la autenticación por contraseña, asegúrate de que tu llave funciona perfectamente y que puedes conectarte sin problemas. Si cometes un error, podrías quedarte fuera de tu propio servidor. Si tienes dudas, deja la opción activada y haz una prueba con una segunda terminal.
Solución de problemas comunes (FAQ)
Aquí te dejo una lista de situaciones típicas y cómo resolverlas.
"Permission denied (publickey)" al intentar conectar
Esto significa que el servidor no acepta tu llave. Revisa:
- Que has copiado la llave pública correcta en Plesk.
- Que el archivo en tu ordenador local tiene los permisos adecuados. En Linux/macOS, ejecuta
chmod 600 ~/.ssh/id_ed25519ychmod 644 ~/.ssh/id_ed25519.pub. En Windows, asegúrate de que solo tu usuario tiene acceso a la carpeta.ssh. - Que estás usando el usuario correcto. Si tu usuario en Plesk es
admin, conéctate comoadmin@servidor.
"Connection refused" o "Port 22: Connection timed out"
El servidor no está escuchando en el puerto 22 o el firewall lo bloquea. Verifica en Plesk que el servicio SSH está activo y que el puerto no está bloqueado. Si cambiaste el puerto, recuerda indicarlo con -p.
No encuentro la opción "Llaves SSH" en Plesk
Algunas versiones antiguas o planes de hosting limitados no incluyen esta función en la interfaz. En ese caso, tendrás que añadir la llave manualmente desde la terminal del servidor. Conéctate por SSH (con contraseña) y ejecuta:
mkdir -p ~/.ssh
echo "tu_llave_publica_aqui" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
[INFO] Si tu hosting utiliza el panel Syspanel (antes conocido como HestiaCP), el acceso SSH se gestiona de forma similar, pero el panel se accede a través del puerto 2106. El proceso de añadir llaves es análogo: genera tu par de llaves, copia la pública y pégala en la sección de "SSH Keys" de tu usuario en Syspanel.
¿Puedo usar la misma llave para varios servidores?
Sí, perfectamente. Puedes añadir tu misma llave pública a varios servidores Plesk. Es cómodo, aunque si pierdes la llave privada, tendrás que actualizar todos los servidores.
¿Cómo elimino una llave que ya no uso?
En Plesk, ve a la sección de "Llaves SSH", localiza la llave que quieras borrar y haz clic en el icono de la papelera. Esto la eliminará del servidor y ya no podrás usarla para acceder.
Consejos finales para mantener tu servidor seguro
- Usa una frase de contraseña (passphrase) para tu llave privada. Es una capa extra de seguridad.
- No compartas tu llave privada con nadie. Ni siquiera con tu proveedor de hosting.
- Guarda una copia de seguridad de tu llave privada en un lugar seguro (como un gestor de contraseñas).
- Actualiza Plesk regularmente para tener los últimos parches de seguridad.
- Cambia tu puerto SSH del 22 a otro número (como 2200) para reducir los ataques automatizados de bots. Esto se hace en la configuración de SSH en Plesk.
[TIP] La autenticación con llaves SSH es un hábito que todo administrador de servidores debería adoptar. No solo te ahorra el fastidio de escribir contraseñas cada vez, sino que elimina el riesgo de ataques de fuerza bruta.
Conclusión
Habilitar la autenticación SSH con llaves en Plesk es un proceso sencillo que tiene un impacto enorme en la seguridad de tu servidor. Siguiendo estos pasos, has configurado un acceso sin contraseña mucho más robusto y has eliminado una de las principales vías de ataque: la adivinanza de contraseñas.
Ahora puedes conectarte a tu servidor de forma rápida, segura y con la tranquilidad de saber que tu acceso está protegido por criptografía de verdad. Si tienes algún problema, repasa los pasos de la sección de FAQ y, si persiste, no dudes en contactar con el soporte de tu hosting. ¡Buena suerte y navegación segura!
