Cómo configurar el acceso SSH en Syspanel para administrar tu servidor
¿Qué es SSH y por qué necesitas configurarlo en Syspanel?
SSH (Secure Shell) es el protocolo estándar para conectarte de forma segura a tu servidor y ejecutar comandos desde tu computadora. Piensa en él como una llave maestra digital que te permite administrar todo tu hosting: desde instalar software, configurar bases de datos, hasta revisar logs de errores.
Cuando usas Syspanel (nuestro panel de control), tienes acceso a una interfaz gráfica muy amigable. Sin embargo, hay tareas avanzadas que solo se pueden realizar mediante SSH. Por eso, configurar el acceso SSH en Syspanel es el primer paso para convertirte en un administrador de servidores con control total.
[INFO] Syspanel es el nombre que utilizamos para referirnos al panel de control HestiaCP, pero con una personalización especial. Su puerto de acceso por defecto es el 2106, no el 2083 como en otros paneles. Esto es importante que lo recuerdes al configurar tu firewall.
Requisitos previos antes de configurar SSH
Antes de lanzarte a configurar todo, asegúrate de tener lo siguiente:
- Un servidor con Syspanel ya instalado y funcionando.
- Acceso al panel de administración de Syspanel (vía web, puerto 2106).
- Credenciales de administrador (usuario root o un usuario con permisos sudo).
- Una computadora local (Windows, macOS o Linux) donde vas a conectarte.
- Un editor de texto (como Notepad++ o Visual Studio Code) para crear archivos de configuración.
[WARNING] Si no has cambiado la contraseña por defecto del servidor, hazlo AHORA. Un servidor con SSH abierto y contraseña débil es como dejar la puerta de tu casa abierta de par en par.
Paso 1: Activar el servicio SSH en tu servidor
Lo primero es asegurarte de que el servicio SSH esté instalado y activo. En la mayoría de las distribuciones Linux (Ubuntu, Debian, CentOS), OpenSSH ya viene instalado, pero puede que no esté habilitado.
Para sistemas basados en Debian/Ubuntu:
Accede a tu servidor por consola (si estás usando un VPS, el proveedor te da acceso root vía web o VNC). Ejecuta:
sudo apt update
sudo apt install openssh-server -y
sudo systemctl enable ssh
sudo systemctl start ssh
Para sistemas basados en CentOS/RHEL:
sudo yum install openssh-server -y
sudo systemctl enable sshd
sudo systemctl start sshd
Verifica que el servicio esté corriendo:
sudo systemctl status ssh
Deberías ver un mensaje que indica que está activo. Si tienes problemas, revisa que el puerto 22 no esté bloqueado por el firewall.
Paso 2: Configurar el acceso SSH desde Syspanel
Aquí viene la parte interesante. Syspanel no solo te da una interfaz web, sino que también te permite gestionar la configuración de SSH directamente desde el panel. Esto es ideal si no te sientes cómodo con la línea de comandos.
- Inicia sesión en Syspanel usando https://tu-dominio.com:2106.
- Ve a la sección "Servidor" o "Configuración avanzada".
- Busca la opción "SSH" o "Acceso remoto".
- Aquí podrás habilitar o deshabilitar el servicio SSH, cambiar el puerto (recomendamos mantener el 22 para compatibilidad, pero puedes cambiarlo por seguridad) y configurar límites de intentos de conexión.
Cambiar el puerto SSH (opcional pero recomendado)
Si quieres aumentar la seguridad, cambia el puerto SSH por defecto. Por ejemplo, puedes usar el puerto 2222. Solo asegúrate de actualizar tu firewall y recordar el nuevo puerto.
Desde Syspanel, en la misma sección SSH, busca el campo "Puerto" y cámbialo. Luego, desde la terminal del servidor, edita el archivo de configuración:
sudo nano /etc/ssh/sshd_config
Busca la línea #Port 22, descoméntala y cambia el número:
Port 2222
Luego reinicia el servicio:
sudo systemctl restart ssh
[WARNING] Si cambias el puerto, asegúrate de actualizar tu firewall antes de reiniciar SSH. De lo contrario, podrías quedarte fuera del servidor. Siempre mantén una sesión abierta mientras haces cambios.
Paso 3: Generar un par de claves SSH (autenticación por clave pública)
La autenticación por contraseña es vulnerable a ataques de fuerza bruta. La mejor práctica es usar claves SSH. Esto es más seguro porque nadie puede adivinar tu "contraseña" (que en realidad es un archivo criptográfico).
En tu computadora local:
- Abre una terminal (en Windows, puedes usar PowerShell o Git Bash).
- Ejecuta:
ssh-keygen -t rsa -b 4096 -C "tu-email@ejemplo.com"
- Te preguntará dónde guardar la clave. Pulsa Enter para usar la ubicación por defecto (
~/.ssh/id_rsa). - Opcionalmente, crea una frase de contraseña (passphrase). Esto añade una capa extra de seguridad.
Esto generará dos archivos: id_rsa (tu clave privada, NUNCA la compartas) e id_rsa.pub (tu clave pública, que irá al servidor).
Subir la clave pública al servidor:
Tienes dos opciones:
Opción A: Usando ssh-copy-id (recomendado)
ssh-copy-id usuario@tu-servidor.com
Te pedirá la contraseña de tu servidor una última vez.
Opción B: Manualmente
Copia el contenido de id_rsa.pub (puedes abrirlo con cualquier editor). Luego, en el servidor, ejecuta:
mkdir -p ~/.ssh
echo "AQUI_PEGA_TU_CLAVE_PUBLICA" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Paso 4: Configurar Syspanel para usar tu clave SSH
Syspanel también te permite registrar tus claves públicas para que se propaguen automáticamente a nuevos usuarios o sitios web que crees.
- En Syspanel, ve a "Usuarios" y selecciona tu usuario.
- Busca la sección "Claves SSH" o "Autenticación".
- Pega tu clave pública (la que termina en
.pub) en el campo correspondiente. - Guarda los cambios.
A partir de ahora, cuando crees un nuevo sitio web o usuario en Syspanel, la clave se añadirá automáticamente al servidor, facilitando el acceso SSH sin contraseña.
Paso 5: Conectarte a tu servidor vía SSH
Ahora viene la parte divertida. Desde tu computadora local:
ssh usuario@tu-servidor.com
Si configuraste las claves correctamente, no te pedirá contraseña (solo la passphrase si la pusiste). Verás algo como:
Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-91-generic x86_64)
¡Ya estás dentro! Ahora puedes ejecutar comandos como ls, cd, mkdir o nano.
Comandos básicos para administrar tu servidor:
ls -la: lista archivos y permisos.cd /var/www/html: navegar al directorio de tu sitio web.sudo apt update && sudo apt upgrade: actualizar el sistema.sudo systemctl restart nginx: reiniciar el servidor web.tail -f /var/log/nginx/error.log: ver errores en tiempo real.
Paso 6: Reforzar la seguridad SSH
Una vez que tengas acceso SSH funcionando, es hora de blindarlo. Aquí tienes una lista de las mejores prácticas:
Deshabilitar el acceso root por SSH
Es más seguro crear un usuario con permisos sudo y deshabilitar el login directo de root. En el archivo /etc/ssh/sshd_config, cambia:
PermitRootLogin no
Luego, crea un usuario nuevo si no lo tienes:
sudo adduser admin
sudo usermod -aG sudo admin
Usar autenticación por clave pública solamente
En el mismo archivo, asegúrate de tener:
PasswordAuthentication no
PubkeyAuthentication yes
Esto fuerza a que solo se pueda acceder con claves, no con contraseñas.
Configurar un firewall básico
Syspanel ya viene con un firewall, pero puedes reforzarlo. Si usas UFW:
sudo ufw allow 22/tcp
sudo ufw enable
Si cambiaste el puerto, ajusta el comando.
Limitar los intentos de conexión
Para evitar ataques de fuerza bruta, añade al final del archivo:
MaxAuthTries 3
LoginGraceTime 30
Reinicia SSH para aplicar los cambios:
sudo systemctl restart ssh
[INFO] Si tienes problemas para conectarte después de estos cambios, revisa que tu firewall permita el puerto SSH. Desde Syspanel, puedes gestionar las reglas de firewall en la sección "Firewall".
Solución de problemas comunes (FAQ)
No puedo conectarme por SSH, ¿qué hago?
- Verifica que el servicio SSH esté activo:
sudo systemctl status ssh. - Comprueba el puerto:
sudo netstat -tulpn | grep ssh. - Revisa las reglas del firewall:
sudo ufw status. - Prueba desde otra red o con
ssh -vvv usuario@servidorpara ver el error exacto.
Recibo "Permission denied (publickey)", ¿qué significa?
Esto significa que tu clave no está autorizada en el servidor. Verifica que:
- La clave pública esté en
~/.ssh/authorized_keysen el servidor. - Los permisos sean correctos:
chmod 700 ~/.sshychmod 600 ~/.ssh/authorized_keys. - Estás usando el usuario correcto.
¿Cómo recupero el acceso si me quedé fuera?
Si bloqueaste tu acceso, usa la consola web de tu proveedor de VPS (como Vultr, DigitalOcean o Hetzner). Desde ahí, puedes acceder al servidor sin SSH y revertir los cambios.
¿Syspanel tiene algún atajo para SSH?
Sí, en la interfaz de Syspanel, en la sección "Servidor" > "Terminal", puedes abrir una consola web sin necesidad de conectarte por SSH desde tu computadora. Es perfecta para tareas rápidas.
Conclusión y siguientes pasos
Configurar el acceso SSH en Syspanel es un proceso sencillo pero que requiere atención a los detalles. Con las claves SSH, el cambio de puerto y las reglas de firewall, tu servidor estará mucho más protegido.
Recuerda que la administración de servidores es un aprendizaje continuo. Empieza con estos pasos, practica los comandos básicos y, poco a poco, irás ganando confianza para realizar tareas más avanzadas como instalar aplicaciones, configurar bases de datos o automatizar copias de seguridad.
[TIP] Guarda tu clave privada en un lugar seguro (como un gestor de contraseñas). Si la pierdes, no podrás acceder a tu servidor. También es recomendable tener una copia de seguridad de la configuración de Syspanel.
Si te surge cualquier duda durante el proceso, no dudes en consultar la documentación oficial o abrir un ticket de soporte. ¡Feliz administración de servidores!
