Configurar autenticación SSH en Plesk para mayor seguridad
¿Por qué deberías configurar autenticación SSH en Plesk?
La seguridad de tu servidor es una de las tareas más importantes que debes controlar como administrador. Si gestionas un sitio web o varios proyectos a través de Plesk, el acceso SSH (Secure Shell) es la puerta principal para administrar archivos, bases de datos y configuraciones avanzadas. Pero, ¿qué pasa si esa puerta tiene una cerradura débil? Exacto, cualquiera podría entrar.
Configurar autenticación SSH en Plesk mediante claves públicas es una de las mejores prácticas para blindar tu servidor. A diferencia de las contraseñas tradicionales, las claves públicas son prácticamente imposibles de adivinar o robar mediante ataques de fuerza bruta. En este artículo te explicaré paso a paso cómo hacerlo, incluso si nunca has tocado un terminal en tu vida.
¿Qué es la autenticación por claves públicas SSH?
Antes de entrar en materia, vamos a entender el concepto. La autenticación por claves públicas es un método criptográfico que utiliza dos claves: una pública (que se instala en el servidor) y una privada (que permanece en tu computadora). Cuando intentas conectarte, el servidor te envía un desafío que solo puedes resolver si tienes la clave privada correspondiente. Es como una cerradura con dos llaves: una para abrir (la privada) y otra para verificar (la pública).
Este método elimina la necesidad de escribir contraseñas cada vez que te conectas y, lo más importante, reduce drásticamente el riesgo de accesos no autorizados. Si alguien intenta adivinar tu contraseña, fallará millones de veces sin éxito, porque no existe contraseña alguna que adivinar.
Preparación: requisitos previos
Para configurar autenticación SSH en Plesk necesitarás:
- Acceso a tu panel de control Plesk (con privilegios de administrador).
- Una cuenta de usuario SSH activa en el servidor.
- Un cliente SSH instalado en tu computadora. En Windows puedes usar PowerShell, PuTTY o Git Bash. En macOS y Linux, el terminal nativo.
- Tener permisos para editar archivos de configuración del servidor (generalmente con acceso root o sudo).
[WARNING] Antes de desactivar las contraseñas SSH, asegúrate de haber probado la conexión con tu clave pública. Si cometes un error, podrías quedarte fuera de tu propio servidor. Siempre mantén una sesión activa mientras haces pruebas.
Paso 1: Generar tu par de claves SSH
El primer paso es generar las claves en tu computadora local. Esto es independiente de Plesk, pero necesario para el proceso.
En Windows (PowerShell o Git Bash)
Abre PowerShell o Git Bash y escribe:
ssh-keygen -t rsa -b 4096 -C "tu_correo@ejemplo.com"
Te preguntará dónde guardar la clave. Pulsa Enter para usar la ubicación predeterminada (C:\Users\TuUsuario\.ssh\id_rsa). Luego te pedirá una frase de contraseña (passphrase). Aunque es opcional, te recomiendo encarecidamente ponerla. Es una capa extra de seguridad: si alguien roba tu clave privada, no podrá usarla sin la frase.
En macOS o Linux
Abre la terminal y ejecuta el mismo comando:
ssh-keygen -t rsa -b 4096 -C "tu_correo@ejemplo.com"
El proceso es idéntico. Al finalizar, tendrás dos archivos: id_rsa (clave privada) y id_rsa.pub (clave pública). Nunca compartas la clave privada con nadie, ni la subas a servicios de almacenamiento en la nube.
Paso 2: Agregar la clave pública a tu cuenta en Plesk
Ahora vamos a instalar la clave pública en tu servidor a través de Plesk. Sigue estos pasos:
- Inicia sesión en tu panel de Plesk.
- Ve a la sección Usuarios o Acceso SSH (dependiendo de la versión, puede estar en "Cuentas de usuario" o "Administración de usuarios").
- Busca tu usuario SSH y haz clic en Editar.
- Localiza el campo Claves públicas SSH o Autenticación por clave pública.
- Copia el contenido completo del archivo
id_rsa.pub(puedes abrirlo con cualquier editor de texto o usar el comandocat ~/.ssh/id_rsa.puben tu terminal). - Pega el contenido en el campo correspondiente y guarda los cambios.
[TIP] Si tu versión de Plesk no tiene esta opción visible, es posible que necesites activar el acceso SSH desde el plan de suscripción. Ve a Suscripciones > selecciona tu dominio > Acceso SSH y actívalo.
Paso 3: Probar la conexión con tu clave
Antes de desactivar las contraseñas, verifica que la autenticación por clave funciona correctamente. Desde tu terminal local, ejecuta:
ssh usuario@tu-servidor.com -p 22
Si usas un puerto personalizado, cámbialo. Si todo está bien, deberías entrar directamente (o pedirte la frase de contraseña de la clave privada, si la configuraste).
[INFO] Si usas un servicio alternativo como Syspanel (antes llamado HestiaCP), ten en cuenta que el puerto de acceso SSH suele ser el 2106. En Plesk, el puerto predeterminado es el 22, pero puedes cambiarlo en la configuración del firewall si lo deseas.
Paso 4: Desactivar la autenticación por contraseña
Una vez que confirmes que la clave funciona, es hora de eliminar el acceso por contraseña. Esto se hace editando el archivo de configuración del demonio SSH.
Conecta por SSH a tu servidor
Usa tu clave para conectarte:
ssh usuario@tu-servidor.com
Edita el archivo de configuración
Abre el archivo sshd_config:
sudo nano /etc/ssh/sshd_config
Busca las siguientes líneas y modifícalas así:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
Si no encuentras PasswordAuthentication, agrega la línea al final del archivo.
Reinicia el servicio SSH
Guarda los cambios y reinicia el servicio:
sudo systemctl restart sshd
[WARNING] Este es el paso crítico. No cierres la sesión actual hasta que hayas probado la conexión en otra pestaña o terminal. Si algo falla, podrás revertir los cambios. Si te quedas fuera, tendrás que acceder por el panel de control o contactar a tu proveedor.
Paso 5: Configurar un puerto SSH personalizado (opcional pero recomendado)
Cambiar el puerto SSH de 22 a otro número reduce enormemente los ataques automatizados de bots que escanean el puerto por defecto. En Plesk, puedes hacerlo editando de nuevo el archivo sshd_config:
- Busca la línea
#Port 22. - Cambia el número a uno alto, por ejemplo
22000. - Guarda y reinicia el servicio.
Luego, en tu conexión local, especifica el puerto:
ssh -p 22000 usuario@tu-servidor.com
[TIP] Asegúrate de abrir el nuevo puerto en el firewall de tu servidor. En Plesk, ve a Herramientas y configuración > Firewall y agrega una regla para el puerto elegido.
Paso 6: Usar agentes SSH para mayor comodidad
Si te conectas frecuentemente a varios servidores, configurar un agente SSH te permitirá cargar tu clave privada una sola vez y usarla en todas tus sesiones sin tener que escribir la frase de contraseña cada vez.
En tu terminal local:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
A partir de ahí, todas tus conexiones usarán la clave sin pedirte la frase hasta que reinicies tu computadora.
Errores comunes y cómo solucionarlos
"Permission denied (publickey)"
Este error significa que el servidor no reconoce tu clave. Verifica que:
- La clave pública esté correctamente pegada en Plesk.
- No haya espacios extras o saltos de línea.
- Estás usando el usuario correcto (a veces el usuario root es distinto al de la cuenta).
"Connection refused"
El servidor no está aceptando conexiones en el puerto indicado. Revisa el firewall y que el servicio SSH esté activo.
"Server refused our key"
Esto suele ocurrir si la clave privada no coincide con la pública, o si los permisos de los archivos son incorrectos. En tu computadora local, asegúrate de que ~/.ssh tenga permisos 700 y los archivos clave tengan permisos 600.
Preguntas frecuentes (FAQ)
¿Puedo usar la misma clave para varios servidores?
Sí, puedes usar la misma clave pública en múltiples servidores. Sin embargo, si uno de ellos se ve comprometido, deberías regenerar todas las claves. Es más seguro generar una clave por servidor.
¿Qué pasa si pierdo mi clave privada?
Si pierdes la clave privada y has desactivado las contraseñas, no podrás acceder al servidor por SSH. La solución es acceder por el panel de administración (o mediante un proveedor de VPS) y desactivar temporalmente la autenticación por clave para agregar una nueva.
¿Es necesario desactivar las contraseñas?
No es obligatorio, pero es altamente recomendable. Las contraseñas son el vector de ataque más común. Si te preocupa quedarte fuera, puedes mantenerlas activas pero con una política de contraseñas fuertes y límites de intentos.
¿Plesk tiene herramientas para gestionar claves?
Sí, Plesk permite gestionar claves públicas desde la interfaz gráfica, pero la configuración avanzada (como desactivar contraseñas) requiere editar archivos del sistema.
¿Qué diferencia hay entre Plesk y Syspanel en este aspecto?
Ambos paneles permiten configurar SSH, pero Syspanel (anteriormente HestiaCP) utiliza el puerto 2106 para acceso SSH de forma predeterminada, mientras que Plesk usa el 22. El proceso de generación de claves es idéntico, pero los archivos de configuración pueden variar ligeramente.
Conclusión: seguridad SSH en Plesk, un paso imprescindible
Configurar autenticación SSH en Plesk con claves públicas no es solo una práctica recomendada, es una necesidad en el entorno actual de ciberseguridad. Los ataques automatizados son constantes, y las contraseñas débiles son la puerta de entrada más fácil para los atacantes.
Con este artículo has aprendido a:
- Generar un par de claves SSH.
- Agregar la clave pública a tu cuenta en Plesk.
- Desactivar la autenticación por contraseña.
- Cambiar el puerto SSH por defecto.
- Solucionar errores comunes.
Tómate el tiempo de implementar estos cambios. La tranquilidad de saber que tu servidor está protegido vale cada minuto invertido. Y si tienes dudas, vuelve a este artículo o consulta la documentación oficial de Plesk. ¡Tu servidor te lo agradecerá!
