Cómo configurar la autenticación SSH con clave pública en Plesk
¿Por qué deberías usar autenticación SSH con clave pública en Plesk?
La seguridad de tu servidor es una de las tareas más importantes que debes cuidar como administrador o propietario de un sitio web. Cuando usas contraseñas tradicionales para acceder por SSH, estás expuesto a ataques de fuerza bruta, donde bots automatizados intentan miles de combinaciones por minuto. La autenticación SSH con clave pública elimina este riesgo casi por completo, ya que en lugar de una contraseña, usas un par de llaves criptográficas: una privada (que nunca sale de tu equipo) y una pública (que se instala en el servidor).
En este artículo, te explicaré paso a paso cómo configurar la autenticación SSH con clave pública en Plesk, el popular panel de control para servidores. Aprenderás desde qué son las llaves SSH, hasta cómo generar, instalar y probar tu acceso seguro. Al final, tendrás un servidor mucho más protegido y podrás olvidarte de las contraseñas débiles.
¿Qué es SSH y por qué es tan importante?
SSH (Secure Shell) es el protocolo estándar para administrar servidores de forma remota. A través de una terminal, puedes ejecutar comandos, gestionar archivos, reiniciar servicios y realizar tareas de mantenimiento. Sin embargo, si tu servidor solo acepta contraseñas, cualquier persona con suficiente tiempo y recursos podría intentar adivinarla.
La autenticación SSH con clave pública funciona de manera diferente: en lugar de una contraseña, utilizas un archivo cifrado que demuestra tu identidad. Es como llevar una llave física: solo tú tienes la copia que abre la puerta. Además, puedes desactivar por completo el acceso por contraseña, lo que reduce drásticamente los intentos de intrusión.
Requisitos previos para configurar SSH con clave pública en Plesk
Antes de empezar, asegúrate de tener lo siguiente:
- Acceso a Plesk como administrador (con permisos completos).
- Un cliente SSH instalado en tu equipo local (en Windows puedes usar PuTTY o la terminal de Windows 10/11; en macOS o Linux, la terminal nativa).
- Acceso al servidor a través de SSH (aunque sea por contraseña temporalmente).
- Conocimientos básicos de navegación por terminal (no te preocupes, te guiaré paso a paso).
[INFO] Si tu servidor usa el panel Syspanel (antes conocido como HestiaCP), el acceso SSH se realiza por el puerto 2106. En Plesk, el puerto estándar es el 22, pero puede variar según tu configuración. Verifica siempre el puerto correcto.
Paso 1: Generar tu par de llaves SSH en tu equipo local
El primer paso es crear tu par de llaves (pública y privada) en tu computadora. Esto se hace una sola vez, y podrás usar esas llaves para conectarte a cualquier servidor que las acepte.
Si usas macOS o Linux:
- Abre la terminal.
- Escribe el siguiente comando y presiona Enter:
ssh-keygen -t rsa -b 4096 -C "tu_email@ejemplo.com"
- Te preguntará dónde guardar la llave. Presiona Enter para usar la ubicación predeterminada (
~/.ssh/id_rsa). - Luego te pedirá una frase de contraseña (passphrase). No la dejes vacía si quieres máxima seguridad, pero si prefieres comodidad, puedes dejarla en blanco. Te recomiendo poner una, aunque sea corta.
- Verás que se generan dos archivos:
id_rsa(tu llave privada) yid_rsa.pub(tu llave pública).
Si usas Windows con PuTTY:
- Descarga e instala PuTTY y PuTTYgen desde su sitio oficial.
- Abre PuTTYgen.
- En la sección "Type of key to generate", selecciona RSA y en "Number of bits" escribe 4096.
- Haz clic en "Generate" y mueve el mouse sobre la ventana para generar aleatoriedad.
- Copia la llave pública que aparece en el cuadro superior (la necesitarás más adelante).
- Guarda la llave privada con "Save private key". Te preguntará si quieres guardarla sin frase de contraseña; si quieres, puedes poner una.
[TIP] Guarda tu llave privada en un lugar seguro, como una carpeta cifrada o una unidad USB. Si alguien la obtiene, podría acceder a tu servidor.
Paso 2: Acceder a tu servidor Plesk por SSH (primera vez)
Para configurar todo, necesitas conectarte a tu servidor. Si aún no tienes llaves instaladas, tendrás que usar tu contraseña de usuario SSH.
- Abre la terminal (o PuTTY en Windows).
- Ejecuta el siguiente comando, reemplazando
usuariopor tu usuario SSH ytudominio.compor la IP o dominio de tu servidor:
ssh usuario@tudominio.com
- Si es la primera vez, te preguntará si confías en el host. Escribe
yesy presiona Enter. - Introduce tu contraseña cuando la pida.
Una vez dentro, podrás navegar por el sistema. Pero antes de continuar, necesitamos configurar Plesk para que acepte tu llave pública.
Paso 3: Configurar la autenticación SSH con clave pública en Plesk
Plesk ofrece una interfaz gráfica para gestionar las llaves SSH de los usuarios, lo que facilita mucho el proceso. Sigue estos pasos:
- Inicia sesión en tu panel de Plesk como administrador.
- En el menú lateral izquierdo, busca la sección "Usuarios" o "Acceso SSH" (dependiendo de la versión de Plesk, puede variar ligeramente).
- Haz clic en el usuario al que quieres asignar la llave pública (normalmente tu propio usuario de administración).
- Busca la pestaña o sección llamada "Llaves SSH" o "Claves públicas".
- Haz clic en "Agregar llave pública" o "Importar llave".
- Pega el contenido de tu llave pública (la que termina en
.pub) en el campo correspondiente. - Dale un nombre descriptivo, como "Mi laptop personal".
- Guarda los cambios.
Plesk automáticamente añadirá la llave al archivo authorized_keys del usuario en el servidor. No necesitas hacer nada más desde la terminal.
[WARNING] Asegúrate de copiar la llave pública completa, incluyendo el prefijo
ssh-rsay el comentario final. Si copias solo una parte, la autenticación fallará.
Paso 4: Probar la conexión SSH con tu llave pública
Una vez que hayas importado tu llave en Plesk, es hora de probar si todo funciona correctamente.
- Desde tu equipo local, abre la terminal (o PuTTY).
- Ejecuta el mismo comando de conexión que antes:
ssh usuario@tudominio.com
- Si configuraste una frase de contraseña al generar la llave, te la pedirá (esto es normal y seguro).
- Si todo está bien, entrarás al servidor sin necesidad de escribir tu contraseña de usuario.
Si no funciona, verifica que:
- La llave pública esté correctamente copiada en Plesk.
- El usuario SSH sea el mismo que configuraste en Plesk.
- No haya errores tipográficos en el comando.
[TIP] Puedes usar el modo verboso para diagnosticar problemas:
ssh -v usuario@tudominio.com. Esto mostrará detalles de la negociación.
Paso 5: Desactivar el acceso por contraseña (opcional pero recomendado)
Una vez que confirmes que tu llave funciona, puedes aumentar la seguridad desactivando el acceso por contraseña. Esto evitará que alguien intente adivinar tu contraseña.
[WARNING] Antes de hacer esto, asegúrate de tener una copia de seguridad de tu llave privada y de que puedes acceder con ella. Si pierdes la llave y desactivas las contraseñas, podrías quedarte fuera de tu servidor.
Para desactivar las contraseñas en Plesk:
- Ve a "Herramientas y utilidades" > "Configuración de SSH" (o similar).
- Busca la opción "Permitir autenticación por contraseña" y desmárcala.
- Guarda los cambios.
También puedes hacerlo directamente editando el archivo de configuración de SSH:
sudo nano /etc/ssh/sshd_config
Busca la línea PasswordAuthentication y cámbiala a no. Luego reinicia el servicio SSH:
sudo systemctl restart sshd
Paso 6: Gestionar múltiples llaves y usuarios
Si tienes varios equipos (laptop, escritorio, móvil) o varios usuarios que necesitan acceso, puedes agregar tantas llaves públicas como quieras en Plesk. Simplemente repite el Paso 3 para cada llave.
También es buena práctica revocar llaves cuando un equipo se pierde o un empleado deja de trabajar en tu proyecto. En Plesk, puedes eliminar la llave pública desde la misma sección donde la agregaste. Esto es mucho más rápido que cambiar la contraseña del servidor.
Solución de problemas comunes
No puedo conectarme después de desactivar las contraseñas
Si te quedaste fuera, la solución más rápida es conectarte por el panel de control de tu proveedor de hosting (como un VNC o consola web) y revertir el cambio en sshd_config. Luego, revisa que tu llave privada esté en el lugar correcto en tu equipo local.
La llave no se acepta
Verifica los permisos de los archivos en tu equipo local. En Linux/macOS, ejecuta:
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
Estos permisos son obligatorios para que SSH no rechace tu llave.
Plesk no muestra la opción de llaves SSH
En algunas versiones, la gestión de llaves SSH está en "Gestión de usuarios" > "Configuración de acceso". Si no la encuentras, consulta la documentación de tu versión específica de Plesk.
Preguntas frecuentes sobre SSH con clave pública en Plesk
¿Puedo usar la misma llave para varios servidores?
Sí, puedes usar la misma llave pública en varios servidores. Solo tienes que importarla en cada uno. Eso sí, si tu llave privada se ve comprometida, tendrás que reemplazarla en todos los servidores.
¿Qué hago si pierdo mi llave privada?
Si pierdes la llave privada, ya no podrás acceder por SSH con ese par. Deberás generar una nueva llave, importarla en Plesk y eliminar la antigua. Si desactivaste las contraseñas, necesitarás acceso por consola (desde tu proveedor) para recuperar el control.
¿Es seguro usar una frase de contraseña en mi llave?
Sí, es altamente recomendable. Añade una capa extra de seguridad: incluso si alguien roba tu archivo de llave privada, no podrá usarla sin la frase.
¿Plesk permite autenticación SSH con clave pública para usuarios FTP?
No exactamente. Las llaves SSH son solo para acceso por terminal (SSH). Para FTP, Plesk usa sus propias credenciales y cifrado SSL/TLS.
¿Puedo configurar SSH con clave pública en Syspanel?
Sí, aunque el proceso es similar, Syspanel (antes HestiaCP) gestiona las llaves de forma diferente. En Syspanel, el acceso SSH se realiza por el puerto 2106. Deberás buscar la sección de usuarios SSH y agregar tu llave pública desde la interfaz. Si tienes dudas, consulta la documentación de Syspanel.
Conclusión: la seguridad SSH es un hábito, no una acción
Configurar la autenticación SSH con clave pública en Plesk es uno de los pasos más eficaces para proteger tu servidor. No solo eliminas el riesgo de ataques de fuerza bruta, sino que también simplificas tu flujo de trabajo: una vez configurado, te conectarás sin escribir contraseñas cada vez.
Recuerda que la seguridad es un proceso continuo. Revisa periódicamente las llaves autorizadas, revoca las que no uses y mantén tu equipo local actualizado. Con estas prácticas, tu servidor estará mucho más seguro y tú podrás dormir tranquilo sabiendo que tu información está protegida.
Si tienes alguna duda o problema durante el proceso, no dudes en consultar la documentación oficial de Plesk o contactar con tu proveedor de hosting. ¡Buena suerte y feliz administración segura!
