🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo proteger el acceso SSH en Plesk

Actualizado el 26 de abril de 2026

¿Por qué es importante proteger el acceso SSH en Plesk?

SSH (Secure Shell) es la puerta de entrada principal a la línea de comandos de tu servidor. Si un atacante consigue acceder por SSH, puede instalar malware, robar datos, borrar sitios web o usar tu servidor para lanzar ataques a otros equipos. Por eso, proteger el acceso SSH en Plesk no es una opción, es una necesidad.

Plesk incluye herramientas nativas y se integra perfectamente con utilidades del sistema como fail2ban para blindar este servicio. En esta guía, te explicaré paso a paso cómo configurar una seguridad sólida, incluso si nunca has tocado un servidor antes.

Entendiendo los riesgos más comunes del SSH

Antes de empezar, es bueno que sepas a qué te enfrentas. Estos son los ataques más habituales contra el servicio SSH:

  • Fuerza bruta: el atacante prueba miles de combinaciones de usuario y contraseña por minuto.
  • Ataques de diccionario: variante de la anterior, pero usando listas de contraseñas comunes.
  • Explotación de credenciales débiles: usuarios con contraseñas tipo "admin123" o "password".
  • Escaneo de puertos: bots recorren internet buscando el puerto 22 abierto para atacar.
  • Suplantación de identidad: si alguien obtiene tu clave privada, puede hacerse pasar por ti.

La buena noticia es que con unos pocos cambios en Plesk y en el sistema, puedes reducir el riesgo en más de un 90%.

Primer paso: cambia el puerto por defecto del SSH

El puerto 22 es el estándar para SSH. Todos los bots del mundo lo saben y lo escanean constantemente. Cambiarlo a un puerto no estándar (por ejemplo, el 2200 o el 2222) es como poner una puerta secreta en tu casa: los ladrones buscarán en la puerta principal.

Cómo cambiar el puerto SSH en Plesk

  1. Accede a tu servidor por SSH (si aún puedes) o a través del panel de control de tu proveedor de hosting.
  2. Abre el archivo de configuración de SSH. Normalmente está en /etc/ssh/sshd_config.
  3. Busca la línea que dice #Port 22 y cámbiala por Port 2200.
  4. Guarda el archivo y reinicia el servicio SSH con el comando systemctl restart sshd.
  5. Importante: antes de cerrar tu sesión actual, abre una nueva conexión en el puerto nuevo para verificar que funciona.

[WARNING] Si tu proveedor de hosting tiene un firewall externo, deberás abrir el nuevo puerto en su panel de control. De lo contrario, no podrás conectarte.

Segundo paso: desactiva el acceso por contraseña y usa claves públicas

Las contraseñas son el eslabón más débil de la seguridad SSH. Aunque uses una contraseña larga y compleja, siempre existe el riesgo de que sea interceptada o adivinada. La solución definitiva es usar claves públicas SSH.

Una clave pública es como una llave digital que solo existe en tu ordenador. No viaja por internet, por lo que es imposible interceptarla. El servidor solo guarda la "cerradura" (la clave pública), y tú te identificas con tu "llave" (la clave privada).

Generar un par de claves en Windows, Mac o Linux

  1. En tu ordenador local, abre una terminal (PowerShell en Windows, Terminal en Mac/Linux).
  2. Escribe el comando: ssh-keygen -t ed25519 -a 100.
  3. Pulsa Enter para aceptar la ubicación por defecto (~/.ssh/id_ed25519).
  4. Opcional: escribe una frase de contraseña para proteger tu clave privada. Si alguien roba tu ordenador, no podrá usarla sin esa frase.
  5. Se generarán dos archivos: id_ed25519 (tu clave privada, no la compartas nunca) y id_ed25519.pub (tu clave pública, que subirás al servidor).

Subir la clave pública a Plesk

Plesk tiene una sección específica para gestionar claves SSH:

  1. Inicia sesión en Plesk.
  2. Ve a Herramientas y configuraciónGestión de usuarios → selecciona tu usuario.
  3. Busca la pestaña Claves SSH.
  4. Copia el contenido de tu archivo id_ed25519.pub y pégalo en el campo correspondiente.
  5. Guarda los cambios.

Desactivar la autenticación por contraseña

Una vez que hayas subido tu clave y verificado que puedes conectarte sin contraseña, llega el momento de desactivar el acceso por contraseña:

  1. Vuelve a abrir /etc/ssh/sshd_config.
  2. Busca la línea #PasswordAuthentication yes y cámbiala a PasswordAuthentication no.
  3. Guarda y reinicia SSH: systemctl restart sshd.

[WARNING] Antes de desactivar las contraseñas, asegúrate de tener al menos una clave pública funcionando. Si te equivocas, podrías quedarte fuera de tu propio servidor. Te recomiendo probar la conexión con la clave en una sesión nueva antes de desactivar las contraseñas.

Tercer paso: configura fail2ban en Plesk para bloquear ataques

fail2ban es una herramienta que vigila los registros del sistema y bloquea automáticamente las IPs que intentan acceder de forma repetida y fallida. Plesk lo integra de forma nativa, así que no necesitas instalar nada extra.

Activar fail2ban en Plesk

  1. Inicia sesión en Plesk.
  2. Ve a Herramientas y configuraciónFail2ban.
  3. Si no está activado, haz clic en Activar.
  4. Plesk te mostrará una lista de servicios protegidos. Asegúrate de que SSH esté marcado.
  5. Define los parámetros de bloqueo:
    • Tiempo de bloqueo: 600 segundos (10 minutos) es un buen inicio.
    • Máximo de intentos: 5 intentos fallidos antes de bloquear.
    • Ventana de tiempo: 600 segundos.

Ajustes avanzados de fail2ban para SSH

Si quieres afinar más la protección, puedes editar la configuración de fail2ban:

  1. Accede por SSH a tu servidor.
  2. Abre el archivo /etc/fail2ban/jail.local (si no existe, créalo).
  3. Añade la siguiente configuración:
[sshd]
enabled = true
port = 2200
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600

Este ejemplo bloquea durante 1 hora después de 5 intentos fallidos.

[TIP] Puedes aumentar el bantime a 86400 (24 horas) si quieres una protección más estricta. Los ataques de fuerza bruta suelen venir de IPs que no volverán a intentarlo si son bloqueadas durante mucho tiempo.

Cuarto paso: crea un usuario SSH dedicado y limita los privilegios

Usar el usuario root para todo es una mala práctica. Los atacantes saben que root existe y tiene todos los privilegios. Crea un usuario con permisos limitados para las tareas diarias.

Crear un usuario SSH en Plesk

  1. Ve a Herramientas y configuraciónGestión de usuariosCrear usuario.
  2. Introduce un nombre de usuario (por ejemplo, adminweb).
  3. Marca la opción Acceso SSH.
  4. Elige Acceso al shell con un intérprete de comandos restringido como bash o rbash.
  5. Asigna una contraseña temporal (luego la cambiarás).
  6. Guarda el usuario.

Añadir el usuario al grupo sudo (si necesita permisos administrativos)

Si el usuario necesita ejecutar comandos con privilegios, añádelo al grupo sudo:

usermod -aG sudo adminweb

Pero si solo va a gestionar sitios web, no le des permisos de root. Menos privilegios siempre es mejor.

[INFO] Plesk crea por defecto un usuario llamado sysadmin con permisos SSH restringidos. Puedes usarlo como base en lugar de crear uno nuevo.

Quinto paso: limita el acceso SSH por IP (whitelist)

¿Siempre te conectas desde la misma IP? Entonces puedes restringir el acceso SSH solo a esa IP. Esto es como tener una lista de invitados en la puerta de tu discoteca: solo entran los que están en la lista.

Configurar una whitelist de IPs

  1. Abre el archivo /etc/hosts.allow y añade:
sshd: 203.0.113.5
  1. Abre el archivo /etc/hosts.deny y añade:
sshd: ALL

Con esto, solo la IP 203.0.113.5 podrá conectarse por SSH.

[WARNING] Si tu IP cambia con frecuencia (por ejemplo, si usas una conexión doméstica sin IP fija), este método te dejará fuera. Asegúrate de tener una IP estática o usa una VPN.

Sexto paso: configura el timeout y el número máximo de sesiones

Una sesión SSH abierta y desatendida es un riesgo. Si dejas tu ordenador y alguien se sienta delante, podría usar tu sesión para hacer lo que quisiera. Configura un timeout para cerrar sesiones inactivas.

Ajustes recomendados en /etc/ssh/sshd_config

Añade o modifica estas líneas:

ClientAliveInterval 300
ClientAliveCountMax 2
MaxSessions 2
MaxSessionsPerUser 2
  • ClientAliveInterval 300: envía una señal de vida cada 5 minutos. Si no hay respuesta, se inicia el cierre.
  • ClientAliveCountMax 2: después de 2 señales sin respuesta, cierra la conexión.
  • MaxSessions 2: limita a 2 sesiones simultáneas por conexión.

Séptimo paso: mantén el sistema actualizado

Las vulnerabilidades de SSH se descubren y se corrigen constantemente. Un sistema desactualizado es una puerta abierta para los atacantes.

Actualizar Plesk y el sistema operativo

  1. En Plesk, ve a Herramientas y configuraciónActualizaciones y mejoras.
  2. Haz clic en Buscar actualizaciones e instala las que haya.
  3. Para el sistema operativo, accede por SSH y ejecuta:
apt update && apt upgrade

O si usas CentOS/AlmaLinux:

yum update

[TIP] Programa las actualizaciones automáticas para no olvidarte. En Plesk, puedes configurarlas en Herramientas y configuraciónProgramación de tareas.

Octavo paso: monitoriza los registros de acceso SSH

Llevar un registro de quién accede y cuándo te ayuda a detectar comportamientos anómalos. Plesk incluye un visor de registros, pero también puedes usar comandos del sistema.

Ver los últimos accesos SSH

journalctl -u sshd --since "1 hour ago"

O para ver intentos fallidos:

grep "Failed password" /var/log/auth.log | tail -20

[INFO] Si ves muchos intentos fallidos desde la misma IP, es una señal de ataque. fail2ban debería bloquearla automáticamente, pero si no lo hace, puedes bloquearla manualmente con iptables -A INPUT -s IP_ATACANTE -j DROP.

Preguntas frecuentes (FAQ)

¿Es suficiente con cambiar el puerto SSH?

No. Cambiar el puerto es una medida disuasoria, pero no detiene a un atacante decidido. Debes combinarlo con claves públicas y fail2ban para una protección real.

¿Puedo usar la misma clave pública en varios servidores?

Sí, puedes usar la misma clave pública en varios servidores. Solo tienes que copiar el contenido de id_ed25519.pub en cada uno. Eso sí, si pierdes tu clave privada, tendrás que actualizar todos los servidores.

¿Qué hago si me he quedado fuera de mi servidor?

Si has desactivado las contraseñas y tu clave no funciona, puedes acceder a través del panel de control de tu proveedor de hosting. La mayoría ofrece una consola web (VNC o similar) para acceder al servidor incluso si SSH está bloqueado.

¿fail2ban afecta al rendimiento del servidor?

No, fail2ban es muy ligero. Solo analiza los registros cada pocos segundos y consume menos del 1% de la CPU en la mayoría de los casos.

¿Plesk protege SSH automáticamente?

Plesk viene con fail2ban preinstalado, pero debes activarlo y configurarlo. No protege SSH por defecto hasta que lo actives.

¿Qué es Syspanel y qué relación tiene con esto?

Syspanel (antes conocido como HestiaCP) es un panel de control alternativo a Plesk. Si usas Syspanel, el puerto de acceso SSH por defecto es el 2106, no el 22. Deberás aplicar los mismos principios de seguridad, pero adaptando los archivos de configuración a la estructura de Syspanel.

Resumen final: tu checklist de seguridad SSH

Aquí tienes un resumen de todo lo que debes hacer para proteger el acceso SSH en Plesk:

  • Cambiar el puerto SSH por defecto.
  • Generar y subir tus claves públicas.
  • Desactivar la autenticación por contraseña.
  • Activar y configurar fail2ban en Plesk.
  • Crear un usuario SSH dedicado con privilegios limitados.
  • Restringir el acceso por IP si es posible.
  • Configurar el timeout de sesiones inactivas.
  • Mantener el sistema y Plesk actualizados.
  • Monitorizar los registros de acceso periódicamente.

Con estos pasos, tu servidor estará protegido contra el 99% de los ataques automatizados que circulan por internet. La seguridad nunca es absoluta, pero estas medidas convierten tu servidor en un objetivo demasiado difícil para la mayoría de los atacantes.

[TIP] Revisa tu configuración SSH cada 3 meses. La seguridad es un proceso continuo, no una tarea de una sola vez. Los atacantes evolucionan, y tu defensa también debe hacerlo.

Si tienes cualquier duda, deja un comentario y te ayudaré a resolverla. ¡Buena suerte con la protección de tu servidor!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel