Cómo habilitar la autenticación SSH por clave pública en Plesk (y desactivar contraseña)
¿Cansado de escribir tu contraseña cada vez que te conectas por SSH a tu servidor Plesk? ¿Te preocupa que alguien pueda adivinarla mediante ataques de fuerza bruta? Si es así, estás en el lugar correcto.
Habilitar la autenticación por clave pública SSH es una de las mejores decisiones que puedes tomar para blindar tu servidor. No solo es mucho más segura que una contraseña tradicional, sino que además te permite conectarte de forma más rápida y cómoda, sin tener que teclear nada.
En este artículo, te guiaré paso a paso, como si estuvieras hablando con un amigo técnico, para que configures la SSH clave Plesk y, al final, desactives por completo el acceso por contraseña. Vamos a ello.
¿Por qué deberías usar claves públicas SSH en lugar de contraseñas?
Antes de ensuciarnos las manos con la configuración, es fundamental entender el "por qué". La seguridad SSH no es un capricho; es una necesidad.
Piensa en una contraseña como una llave física de tu casa. Si es débil, alguien podría copiarla o forzar la cerradura. Además, cada vez que la usas, la estás "mostrando" al servidor, y si el canal no está bien protegido (aunque SSH lo está), existe un pequeño riesgo.
Una clave pública es como una tarjeta de acceso con un chip cifrado. Se compone de dos partes:
- La clave privada: Permanece siempre en tu ordenador local. Es como tu identidad secreta. Nunca debe compartirse ni salir de tu equipo.
- La clave pública: Se instala en el servidor. Es como la cerradura que reconoce tu tarjeta. Cualquiera puede verla, pero sin la clave privada correspondiente, es inútil.
La magia de este sistema es que la autenticación se basa en un desafío criptográfico. Tu ordenador demuestra que posee la clave privada sin enviarla nunca. Esto elimina el riesgo de que tu contraseña sea interceptada o descifrada por fuerza bruta. Es la diferencia entre decir "mi contraseña es '123456'" y demostrar matemáticamente que eres el dueño legítimo de la llave.
Requisitos previos para configurar la autenticación por clave pública
Vamos a preparar el terreno. Para este tutorial, necesitarás:
- Acceso a Plesk: Debes tener un panel de control de Plesk con permisos de administrador o de suscripción.
- Acceso SSH actual: Necesitas poder conectarte al servidor con tu usuario y contraseña actuales (al menos una vez).
- Un ordenador local: Puede ser Windows, macOS o Linux, desde donde te conectarás al servidor.
- Un cliente SSH: En macOS y Linux, la terminal nativa es suficiente. En Windows, puedes usar PowerShell, el Símbolo del sistema o programas como PuTTY (aunque recomendamos usar la terminal integrada de Windows 11 o 10).
[INFO] Si estás usando un panel alternativo como "Syspanel" (antes conocido como HestiaCP), el proceso es bastante similar, pero la interfaz gráfica cambia. En Syspanel, el acceso SSH se gestiona desde la sección de "Usuario" y el puerto de acceso por defecto es el 2106. Sin embargo, este artículo se centra en Plesk, que es el estándar en la mayoría de los proveedores de hosting.
Paso 1: Generar tu par de claves SSH (pública y privada)
Este es el primer paso y se realiza en tu ordenador local, no en el servidor. Necesitas crear un "par de llaves".
En macOS o Linux
Abre tu terminal y ejecuta el siguiente comando:
ssh-keygen -t rsa -b 4096 -C "tu_email@ejemplo.com"
-t rsa: Especifica el tipo de algoritmo (RSA es el más compatible).-b 4096: Indica el tamaño de la clave en bits. Cuanto más grande, más segura. 4096 es el estándar recomendado.-C: Es un comentario para identificar la clave (normalmente tu correo electrónico).
El sistema te preguntará dónde guardar la clave. Por defecto, la guardará en ~/.ssh/id_rsa. Puedes pulsar Enter para aceptar.
A continuación, te pedirá una frase de contraseña (passphrase). ¡No la dejes vacía! Esta frase es una capa extra de seguridad. Si alguien roba tu clave privada, sin esta frase no podrá usarla. Es como un PIN para tu tarjeta de acceso. Escríbela y no la olvides.
En Windows (PowerShell o Símbolo del sistema)
El proceso es idéntico. Abre PowerShell y escribe el mismo comando:
ssh-keygen -t rsa -b 4096 -C "tu_email@ejemplo.com"
Sigue las mismas instrucciones. La clave se guardará en C:\Users\TuUsuario\.ssh\.
Una vez completado, tendrás dos archivos en tu carpeta .ssh:
id_rsa: Tu clave privada (no la compartas jamás).id_rsa.pub: Tu clave pública (esta es la que subiremos al servidor).
Paso 2: Añadir la clave pública a tu servidor Plesk
Ahora que tienes tu llave, vamos a ponerle la cerradura al servidor. Hay dos formas principales de hacerlo: a través del panel de control de Plesk o mediante la terminal.
Opción A: A través del Panel de Control de Plesk (La más fácil)
Esta es la vía recomendada para la mayoría de los usuarios, ya que es visual y no requiere conocimientos avanzados.
- Inicia sesión en tu panel de Plesk.
- Ve a tu Suscripción o al dominio que quieras gestionar.
- Busca la sección de "Acceso SSH" o "SSH" en el menú lateral. A veces está dentro de "Hosting y DNS" o en los ajustes de la suscripción.
- En la pestaña de "Claves públicas", verás un campo para pegar tu clave. Abre tu archivo
id_rsa.pubcon un editor de texto (Bloc de notas, TextEdit, etc.) y copia todo su contenido. - Pega el contenido en el campo correspondiente y haz clic en "Añadir". Plesk la guardará y la asociará a tu usuario.
Opción B: Usando el comando ssh-copy-id (Más técnica, pero rápida)
Si te sientes cómodo con la terminal, este es un método muy eficiente.
En tu terminal local, ejecuta:
ssh-copy-id usuario@tu-servidor.com
Te pedirá la contraseña de tu usuario del servidor una última vez. Este comando se encargará de copiar tu clave pública al archivo authorized_keys del servidor automáticamente.
[WARNING] Si tu servidor usa un puerto SSH diferente al 22 (algo muy recomendable para la seguridad), deberás indicarlo con -p. Por ejemplo: ssh-copy-id -p 22000 usuario@tu-servidor.com.
Paso 3: Probar la conexión con tu clave
Antes de desactivar nada, es crítico que verifiques que todo funciona. No queremos quedarnos fuera de nuestro propio servidor.
- Desde tu terminal, intenta conectarte como siempre, pero sin usar la contraseña:
ssh usuario@tu-servidor.com
Si has configurado una frase de contraseña (passphrase) para tu clave privada, te la pedirá. Si no, entrarás directamente.
- Si la conexión se establece sin problemas, ¡enhorabuena! Tu autenticación clave pública está funcionando.
[TIP] Si te pide la contraseña del servidor y no la frase de tu clave, significa que la clave pública no se ha instalado correctamente. Revisa los pasos anteriores antes de continuar.
Paso 4: Desactivar la autenticación por contraseña (El paso final y más importante)
Este es el paso que realmente aumenta tu seguridad SSH al máximo. Vamos a editar el archivo de configuración del servidor SSH para que rechace cualquier intento de acceso con contraseña.
[WARNING] IMPORTANTE: No des este paso hasta haber verificado que el Paso 3 funciona a la perfección. Si te equivocas, podrías quedarte bloqueado sin acceso a tu servidor. Si tienes acceso de root al servidor, puedes saltarte este aviso, pero si no, ten mucho cuidado.
- Conéctate a tu servidor usando tu clave (como en el paso 3).
- Una vez dentro, necesitas editar el archivo de configuración. Usaremos el editor
nanopor ser el más sencillo para principiantes. Ejecuta:
sudo nano /etc/ssh/sshd_config
- Busca la línea que dice
PasswordAuthentication. Si no existe, la crearás al final del archivo. Debe quedar así:
PasswordAuthentication no
- También es buena práctica buscar la línea
ChallengeResponseAuthenticationy ponerla enno(si existe):
ChallengeResponseAuthentication no
-
Guarda los cambios. En
nano, presionaCtrl + X, luegoY(para confirmar) y finalmenteEnter. -
Ahora, reinicia el servicio SSH para que los cambios surtan efecto:
sudo systemctl restart sshd
(En algunos sistemas puede ser sudo service ssh restart)
¡Listo! Has desactivado el acceso por contraseña. A partir de ahora, solo se podrá acceder con tu clave privada.
Preguntas Frecuentes (FAQ) sobre la seguridad SSH en Plesk
¿Qué hago si pierdo mi clave privada?
Este es el mayor riesgo. Si pierdes tu clave privada y has desactivado las contraseñas, te quedarás sin acceso. La única solución sería acceder a través del panel de control de tu proveedor de hosting (como el administrador de VPS) o mediante un usuario de emergencia si tu proveedor lo ofrece. Por eso es crucial que hagas una copia de seguridad de tu carpeta .ssh en un lugar seguro (como un gestor de contraseñas o un disco duro cifrado).
¿Puedo tener varias claves públicas para varios dispositivos?
Sí, absolutamente. Puedes añadir tantas claves públicas como quieras en Plesk. Esto es útil si te conectas desde tu ordenador de casa y desde tu portátil del trabajo. Cada uno tendrá su propio par de llaves.
¿Es más segura una clave RSA de 4096 bits que una de 2048?
Sí, es considerablemente más segura y es la recomendación estándar actual. Aunque el tiempo de conexión puede ser un poco más lento, la diferencia es imperceptible y la seguridad ganada es enorme.
¿Qué es la frase de contraseña (passphrase) y para qué sirve?
La frase de contraseña es una segunda capa de seguridad para tu clave privada. Si alguien roba tu archivo id_rsa, sin la frase de contraseña no podrá usarlo. Es como tener una llave que además necesita un código PIN para funcionar. Te recomiendo encarecidamente que la uses.
¿Puedo desactivar el acceso por contraseña solo para algunos usuarios?
Sí, puedes ser más granular. En lugar de cambiar la configuración global en sshd_config, puedes crear un grupo de usuarios o usar bloques Match User para aplicar la regla solo a ciertos usuarios. Sin embargo, para la mayoría de los casos, desactivarlo globalmente es la opción más segura y sencilla.
¿Qué pasa si mi proveedor de hosting no me da acceso de root para editar sshd_config?
En ese caso, no podrás desactivar la contraseña desde el servidor. Sin embargo, la mayoría de los paneles de control modernos, como Plesk, ofrecen la opción de desactivar la autenticación por contraseña directamente desde su interfaz. Explora la sección de "Acceso SSH" en los ajustes de tu suscripción; es posible que encuentres una casilla para "Permitir solo autenticación por clave pública" o similar.
¿Debo cambiar el puerto SSH por defecto (22)?
Cambiar el puerto SSH es una medida de seguridad adicional que reduce los ataques automatizados. No es indispensable si usas claves, pero es muy recomendable. Puedes hacerlo en el mismo archivo sshd_config cambiando la línea Port 22 a un número alto (ej. Port 2222). Recuerda abrir ese puerto en el firewall de tu servidor. Esto hace tu seguridad SSH mucho más robusta.
Conclusión: Tu servidor ahora es una fortaleza
Has dado un paso gigante en la protección de tu servidor. Al habilitar la autenticación clave pública y desactivar la contraseña, has eliminado la principal vía de ataque de los bots y los ciberdelincuentes. Ya no dependes de una contraseña que pueda ser adivinada o interceptada; ahora dependes de un sistema criptográfico robusto que es prácticamente imposible de vulnerar.
Este proceso, aunque pueda parecer técnico al principio, es una de las mejores inversiones de tiempo que puedes hacer para la salud de tu hosting. Una vez configurado, te olvidarás del problema y te conectarás con total tranquilidad.
Si has seguido todos los pasos, tu SSH clave Plesk está activada y tu servidor es mucho más difícil de hackear. Si tienes alguna duda, recuerda que siempre puedes contar con el soporte de tu proveedor de hosting, pero con esta guía, deberías poder manejarlo por ti mismo.
¡Enhorabuena por tomar el control de tu seguridad!
