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

Asegurar el acceso SSH en servidores con Syspanel

Actualizado el 19 de junio de 2026

¿Por qué es tan importante asegurar el acceso SSH?

Si tienes un servidor con Syspanel, es muy probable que ya sepas que SSH es la puerta principal para administrarlo. Pero, ¿alguna vez te has detenido a pensar en cuántos intentos de acceso recibe tu servidor cada día? La realidad es que, en cuanto tu servidor está en línea, bots automatizados empiezan a probar contraseñas y usuarios comunes sin descanso.

Asegurar el acceso SSH no es un lujo, es una necesidad básica de ciberseguridad. Un acceso comprometido puede darle a un atacante el control total de tu servidor, tus sitios web, tus bases de datos y, en el peor de los casos, convertir tu servidor en parte de una botnet para atacar a otros.

La buena noticia es que no necesitas ser un experto en seguridad para proteger tu servidor. Con una serie de pasos sencillos y prácticos, puedes reducir drásticamente la superficie de ataque. A lo largo de esta guía, te mostraré cómo asegurar el acceso SSH en servidores con Syspanel, paso a paso, de una manera clara y sin tecnicismos innecesarios.

Antes de empezar, es importante que sepas que Syspanel es un panel de control que te facilita la gestión de tu servidor, y aunque su acceso principal es a través del puerto 2106 para la interfaz web, el acceso SSH se realiza por el puerto estándar 22 (aunque esto lo podremos cambiar, como veremos más adelante).

Cambiar el puerto SSH por defecto

El primer paso, y uno de los más efectivos, es cambiar el puerto por defecto de SSH. El puerto 22 es conocido por todos, incluidos los atacantes. Al cambiarlo a un puerto no estándar, te librarás automáticamente de la gran mayoría de ataques automatizados que solo escanean el puerto 22.

Para hacerlo, necesitas acceder a tu servidor por SSH (sí, usando el puerto 22 por ahora) y editar el archivo de configuración de SSH.

Paso 1: Conectarte al servidor

Abre tu terminal (si usas Windows, puedes usar PowerShell o un cliente como PuTTY) y conéctate a tu servidor con el siguiente comando:

ssh usuario@tu_ip

Reemplaza usuario con tu nombre de usuario (normalmente root o un usuario con privilegios) y tu_ip con la dirección IP de tu servidor.

Paso 2: Editar el archivo de configuración

Una vez dentro, ejecuta el siguiente comando para editar el archivo de configuración de SSH:

sudo nano /etc/ssh/sshd_config

Este comando abrirá el archivo en el editor de texto nano. Busca la línea que dice #Port 22. Deberás eliminar el símbolo # (que comenta la línea) y cambiar el número por el puerto que desees. Por ejemplo, puedes usar el puerto 2222 o cualquier otro número entre 1024 y 65535 que no esté en uso.

Port 2222

[TIP] Elige un puerto que sea fácil de recordar para ti, pero que no sea obvio. Evita puertos comunes como 80, 443, 21, etc.

Paso 3: Reiniciar el servicio SSH

Guarda los cambios con Ctrl + O, luego presiona Enter y sal del editor con Ctrl + X. Ahora, reinicia el servicio SSH para que los cambios surtan efecto:

sudo systemctl restart sshd

[WARNING] A partir de este momento, tu acceso SSH ya no estará en el puerto 22. Si cierras la sesión actual sin probar el nuevo puerto, podrías quedarte fuera. Te recomiendo que, antes de cerrar la sesión, abras una nueva ventana de terminal e intentes conectarte con el nuevo puerto para asegurarte de que funciona.

Para conectarte en el futuro, usa:

ssh -p 2222 usuario@tu_ip

Deshabilitar el acceso por contraseña y usar claves SSH

Las contraseñas son fáciles de adivinar o descifrar mediante ataques de fuerza bruta. Una alternativa mucho más segura es usar claves SSH (también conocidas como pares de llaves). Este método utiliza un par de archivos criptográficos: una clave privada que solo tú tienes y una clave pública que se instala en el servidor.

Paso 1: Generar tu par de claves

En tu ordenador local (no en el servidor), abre tu terminal y ejecuta:

ssh-keygen -t rsa -b 4096

Te preguntará dónde guardar el archivo y si quieres añadir una frase de contraseña (passphrase). Te recomiendo que sí uses una frase de contraseña, ya que añade una capa extra de seguridad. Si alguien roba tu clave privada, no podrá usarla sin la frase.

Paso 2: Copiar la clave pública al servidor

Una vez generada, debes copiar la clave pública al servidor. Puedes hacerlo manualmente, pero el comando ssh-copy-id lo hace mucho más fácil:

ssh-copy-id -p 2222 usuario@tu_ip

Este comando te pedirá tu contraseña actual y copiará la clave pública al archivo ~/.ssh/authorized_keys del servidor.

[INFO] Si ssh-copy-id no está disponible en tu sistema, puedes copiar la clave manualmente. Abre el archivo ~/.ssh/id_rsa.pub en tu ordenador, copia su contenido y, en el servidor, añádelo al final del archivo ~/.ssh/authorized_keys.

Paso 3: Deshabilitar la autenticación por contraseña

Ahora que la clave pública está instalada, puedes deshabilitar la autenticación por contraseña. Vuelve a editar el archivo de configuración:

sudo nano /etc/ssh/sshd_config

Busca la línea #PasswordAuthentication yes y cámbiala a:

PasswordAuthentication no

Guarda los cambios y reinicia el servicio SSH:

sudo systemctl restart sshd

A partir de ahora, solo podrás conectarte usando tu clave privada. Si intentas usar una contraseña, el servidor la rechazará.

[WARNING] Asegúrate de que tu clave privada funciona correctamente antes de deshabilitar las contraseñas. Si te quedas sin acceso, tendrás que usar la consola de tu proveedor de hosting para restaurar el acceso.

Proteger el servidor con un firewall

Un firewall es tu primera línea de defensa. Te permite controlar qué puertos están abiertos al mundo exterior y cuáles no. Con Syspanel, puedes gestionar el firewall de forma gráfica, pero también puedes hacerlo directamente desde la terminal.

Configurar UFW (Uncomplicated Firewall)

UFW es una herramienta sencilla para gestionar el firewall en Ubuntu y otras distribuciones. Para instalarlo y configurarlo, sigue estos pasos:

sudo apt update && sudo apt install ufw

Una vez instalado, puedes configurar las reglas. Primero, permite el acceso por SSH en el nuevo puerto:

sudo ufw allow 2222/tcp

Ahora, permite el acceso a Syspanel en el puerto 2106:

sudo ufw allow 2106/tcp

También es recomendable permitir el tráfico HTTP y HTTPS si tienes sitios web:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Ahora, habilita el firewall:

sudo ufw enable

[TIP] Si quieres limitar el acceso SSH solo a ciertas IPs, puedes usar el comando sudo ufw allow from TU_IP to any port 2222. Esto es especialmente útil si siempre te conectas desde la misma dirección IP.

Deshabilitar el acceso SSH para el usuario root

El usuario root es el más poderoso del sistema y, por lo tanto, un objetivo muy atractivo para los atacantes. Deshabilitar el acceso SSH directo para root es una práctica de seguridad recomendada. En su lugar, deberías usar un usuario normal con privilegios sudo.

Paso 1: Crear un usuario con privilegios

Si aún no tienes un usuario con privilegios, puedes crear uno:

sudo adduser nuevo_usuario

Después, añádelo al grupo sudo para que pueda ejecutar comandos con privilegios de administrador:

sudo usermod -aG sudo nuevo_usuario

Paso 2: Deshabilitar el acceso root por SSH

Edita el archivo de configuración de SSH:

sudo nano /etc/ssh/sshd_config

Busca la línea #PermitRootLogin yes y cámbiala a:

PermitRootLogin no

Guarda los cambios y reinicia el servicio SSH:

sudo systemctl restart sshd

Ahora, los intentos de conexión como root serán rechazados automáticamente. Deberás usar tu nuevo usuario y, cuando necesites privilegios de administrador, usar el comando sudo antes del comando que quieras ejecutar.

Monitorizar los intentos de acceso

Aunque hayas tomado todas las medidas anteriores, es importante que estés al tanto de lo que ocurre en tu servidor. Monitorizar los intentos de acceso te permitirá detectar actividades sospechosas a tiempo.

Fail2ban: tu guardián automático

Fail2ban es una herramienta que analiza los logs del sistema y bloquea automáticamente las IPs que hagan demasiados intentos fallidos de conexión. Es como un guardia de seguridad que expulsa a los que intentan forzar la puerta.

Para instalarlo:

sudo apt install fail2ban

Una vez instalado, puedes configurarlo editando el archivo de configuración:

sudo nano /etc/fail2ban/jail.local

Aquí puedes definir reglas, como el número de intentos fallidos antes de bloquear una IP y el tiempo de bloqueo. Por ejemplo:

[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 3600

Este ejemplo bloquea a cualquier IP que falle 5 veces en un período de 10 minutos, durante 1 hora.

Reinicia Fail2ban para que los cambios surtan efecto:

sudo systemctl restart fail2ban

[INFO] Fail2ban es muy configurable. Puedes crear reglas personalizadas para otros servicios, como Syspanel, si lo deseas.

Mantener el sistema actualizado

Mantener tu servidor actualizado es una de las medidas de seguridad más simples y efectivas. Las actualizaciones incluyen parches de seguridad que corrigen vulnerabilidades conocidas.

Puedes configurar actualizaciones automáticas para no tener que preocuparte por ello:

sudo apt install unattended-upgrades

Y para configurarlo:

sudo dpkg-reconfigure unattended-upgrades

Te preguntará si quieres que las actualizaciones se apliquen automáticamente. Responde que sí.

Consideraciones adicionales para el hardening de SSH

Además de los pasos anteriores, hay otras medidas que puedes tomar para reforzar aún más la seguridad de tu servidor.

Limitar los usuarios que pueden acceder por SSH

Puedes especificar qué usuarios tienen permitido acceder por SSH. En el archivo de configuración, añade:

AllowUsers usuario1 usuario2

Esto significa que solo usuario1 y usuario2 podrán conectarse por SSH. Cualquier otro usuario será rechazado.

Usar un banner de advertencia

Añadir un banner que advierta a los usuarios no autorizados puede ser un elemento disuasorio. Puedes crear un archivo de texto con el mensaje:

sudo nano /etc/ssh/banner

Y luego, en el archivo de configuración de SSH, añade:

Banner /etc/ssh/banner

Cambiar el tiempo de espera de conexión

Puedes configurar que el servidor cierre automáticamente las conexiones que estén inactivas durante un período de tiempo. En el archivo de configuración:

ClientAliveInterval 300
ClientAliveCountMax 0

Esto cerrará las conexiones inactivas después de 5 minutos.

Conclusión y buenas prácticas

Asegurar el acceso SSH en tu servidor con Syspanel es un proceso continuo, no un evento único. Los atacantes siempre están buscando nuevas formas de penetrar en los sistemas, por lo que es importante que te mantengas al día con las mejores prácticas de seguridad.

Aquí tienes un resumen de los pasos clave:

  • Cambia el puerto SSH por defecto.
  • Usa claves SSH en lugar de contraseñas.
  • Deshabilita el acceso root por SSH.
  • Configura un firewall.
  • Usa Fail2ban para bloquear intentos maliciosos.
  • Mantén el sistema actualizado.

[TIP] Realiza copias de seguridad de tus archivos de configuración antes de hacer cambios. Si algo sale mal, siempre puedes restaurar la configuración anterior.

Recuerda que la seguridad es una responsabilidad compartida. Aunque Syspanel te facilita la gestión de tu servidor, la seguridad del acceso SSH depende en gran medida de ti. Siguiendo estos pasos, estarás mucho más protegido contra los ataques más comunes.

Si tienes alguna duda o encuentras algún problema, no dudes en consultar la documentación oficial o buscar ayuda en la comunidad. La seguridad de tu servidor es un viaje, y cada paso que das te acerca a un entorno más seguro y confiable para tus proyectos.

¿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