Cómo usar SSH para administrar tu servidor de forma segura
¿Qué es SSH y por qué deberías usarlo?
Si alguna vez has oído hablar de "administrar tu servidor" pero te ha sonado a algo reservado para expertos, hoy vas a descubrir que no es tan complicado como parece. SSH (Secure Shell) es el protocolo estándar que permite conectarte a tu servidor de forma segura, como si estuvieras sentado frente a él, pero desde cualquier parte del mundo.
Piensa en SSH como una llave maestra digital: con ella puedes ejecutar comandos, gestionar archivos, reiniciar servicios y configurar todo lo que necesites en tu máquina remota. Lo mejor de todo es que la conexión está cifrada de extremo a extremo, lo que significa que nadie puede espiar lo que haces.
En esta guía completa te voy a enseñar paso a paso cómo usar ssh linux, cómo conectarte por primera vez, cómo configurar claves ssh para mayor seguridad, y qué comandos ssh básicos necesitas dominar. Empecemos.
Requisitos previos para conectar por SSH
Antes de lanzarnos, asegúrate de tener lo siguiente:
- Un servidor con Linux (Ubuntu, Debian, CentOS, etc.) o un panel como Syspanel (accesible por el puerto 2106).
- Un usuario con permisos de administración (root o sudo).
- El nombre de host o la IP pública de tu servidor.
- Una terminal en tu ordenador local. En Windows puedes usar PowerShell, CMD o instalar Windows Terminal. En macOS o Linux, la terminal ya viene integrada.
[INFO] Si usas Syspanel, recuerda que el acceso web es por el puerto 2106, pero SSH funciona por el puerto 22 (o el que hayas configurado). Son cosas distintas.
Primer paso: conectar por SSH desde tu terminal
La sintaxis básica para conectarte es muy sencilla:
ssh usuario@direccion-ip
Por ejemplo, si tu usuario es root y tu IP es 192.168.1.100, escribirías:
ssh root@192.168.1.100
Si es la primera vez que te conectas, verás un mensaje preguntándote si confías en la huella digital del servidor. Responde yes y pulsa Enter.
Luego te pedirá la contraseña del usuario. Escríbela (verás que no se muestra nada mientras escribes, es normal) y pulsa Enter.
¿Qué pasa si el puerto no es el 22?
A veces el puerto SSH se cambia por seguridad. Si es tu caso, usa el parámetro -p:
ssh -p 2222 usuario@direccion-ip
[TIP] Si no sabes qué puerto usa tu servidor, revisa la configuración de Syspanel o el archivo
/etc/ssh/sshd_configen tu servidor.
Segundo paso: entender los comandos SSH básicos
Una vez conectado, ya estás dentro de tu servidor. Aquí tienes los comandos esenciales que usarás a diario:
Navegar por directorios
pwd→ Muestra el directorio actual.ls→ Lista los archivos y carpetas.cd /ruta→ Cambia de directorio. Por ejemplo,cd /var/www.
Gestión de archivos
nano archivo.txt→ Abre un editor de texto sencillo.cat archivo.txt→ Muestra el contenido del archivo.cp origen destino→ Copia archivos.mv origen destino→ Mueve o renombra archivos.rm archivo→ Elimina un archivo (ten cuidado, no hay papelera).
Gestión de servicios
systemctl restart apache2→ Reinicia el servicio Apache.systemctl status nginx→ Muestra el estado de Nginx.service mysql restart→ Otra forma de reiniciar servicios.
Actualizaciones del sistema
apt update→ Actualiza la lista de paquetes.apt upgrade -y→ Actualiza todos los paquetes instalados.
[WARNING] Ejecuta
rmcon muchísimo cuidado. Un simplerm -rf /puede borrar todo el sistema. Revisa siempre la ruta antes de pulsar Enter.
Tercer paso: la revolución de las claves SSH
Usar contraseñas es cómodo, pero no es lo más seguro. Las claves ssh son un método de autenticación mucho más robusto: en lugar de escribir una contraseña cada vez, tu ordenador y el servidor se reconocen mediante un par de llaves criptográficas.
¿Cómo funcionan las claves SSH?
- Clave privada: Se queda en tu ordenador. Nunca debe salir de ahí.
- Clave pública: Se copia al servidor. Es como una cerradura que solo tu llave privada puede abrir.
Crear tus claves SSH
En tu terminal local, escribe:
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). Luego te pedirá una frase de contraseña (passphrase). Es recomendable poner una, pero si no quieres, pulsa Enter dos veces.
Copiar la clave pública al servidor
El comando más fácil es:
ssh-copy-id usuario@direccion-ip
Te pedirá tu contraseña una última vez y luego copiará automáticamente tu clave pública al servidor.
[TIP] Si no tienes
ssh-copy-id, puedes hacerlo manualmente con:cat ~/.ssh/id_rsa.pub | ssh usuario@ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Cuarto paso: reforzar la seguridad SSH al máximo
Ahora que ya te conectas con claves, es hora de blindar tu servidor. Aquí tienes una lista de buenas prácticas de seguridad ssh:
1. Desactivar el acceso por contraseña
Edita el archivo de configuración de SSH:
sudo nano /etc/ssh/sshd_config
Busca la línea PasswordAuthentication y cambia yes a no.
2. Cambiar el puerto por defecto
En el mismo archivo, busca Port 22 y cámbialo por otro número, por ejemplo Port 2222. Recuerda actualizar el firewall y, si usas Syspanel, asegúrate de que el panel no interfiera.
3. Desactivar el acceso root directo
Busca PermitRootLogin y pon no. Así evitarás ataques de fuerza bruta al usuario más poderoso del sistema. Crea un usuario con permisos sudo y úsalo siempre.
4. Limitar usuarios permitidos
Añade al final del archivo:
AllowUsers tu_usuario
5. Configurar un firewall básico
Con UFW (si está disponible):
sudo ufw allow 2222/tcp
sudo ufw enable
[WARNING] Antes de cerrar el puerto 22, asegúrate de que tu nueva configuración funciona. Si te equivocas, podrías quedarte fuera de tu propio servidor. Siempre ten una sesión activa mientras pruebas.
Quinto paso: comandos SSH avanzados que te harán la vida más fácil
Ejecutar comandos sin entrar al servidor
No siempre necesitas abrir una sesión interactiva. Puedes ejecutar un comando remoto directamente:
ssh usuario@ip "uptime && df -h"
Esto te muestra el tiempo de actividad y el espacio en disco, sin entrar de forma interactiva.
Copiar archivos con SCP
Para subir o bajar archivos de forma segura:
scp archivo-local.txt usuario@ip:/ruta/destino/
Para descargar:
scp usuario@ip:/ruta/archivo.txt ./carpeta-local/
Túneles SSH (port forwarding)
¿Necesitas acceder a un servicio que solo escucha en localhost del servidor? Crea un túnel:
ssh -L 8080:localhost:80 usuario@ip
Ahora puedes abrir http://localhost:8080 en tu navegador y verás el contenido del puerto 80 del servidor.
Montar directorios remotos con SSHFS
Si quieres trabajar con archivos remotos como si fueran locales:
sudo apt install sshfs
mkdir ~/servidor
sshfs usuario@ip:/var/www ~/servidor
[INFO] Con SSHFS puedes editar archivos del servidor con tu editor local preferido (VS Code, Sublime, etc.) sin necesidad de usar nano cada vez.
Sexto paso: errores comunes y cómo solucionarlos
"Connection refused" (Conexión rechazada)
- Verifica que SSH esté instalado y corriendo:
sudo systemctl status ssh. - Comprueba que el puerto está abierto en el firewall.
- Revisa que estás usando el puerto correcto.
"Permission denied" (Permiso denegado)
- Confirma que el usuario existe y tiene permisos.
- Si cambiaste la configuración de claves, asegúrate de que la clave pública está en
~/.ssh/authorized_keys.
"Host key verification failed"
Esto ocurre cuando la identidad del servidor ha cambiado (por ejemplo, tras reinstalar). Solución:
ssh-keygen -R direccion-ip
Luego vuelve a conectarte.
Preguntas frecuentes (FAQ)
¿Es legal usar SSH?
Sí, siempre que tengas autorización para administrar el servidor. Es una herramienta estándar de administración.
¿Puedo usar SSH desde el móvil?
Claro. Aplicaciones como Termux (Android) o Termius (iOS/Android) funcionan muy bien.
¿SSH funciona en Windows?
Sí. Windows 10 y 11 incluyen OpenSSH por defecto. Solo abre PowerShell o CMD.
¿Qué diferencia hay entre SSH y Telnet?
SSH cifra todo el tráfico; Telnet lo envía en texto plano. Usa siempre SSH.
¿Necesito saber programación para usar SSH?
No. Solo necesitas conocer los comandos básicos de Linux, y eso se aprende con la práctica.
Conclusión: domina tu servidor con confianza
Aprender a usar ssh linux es una de las habilidades más valiosas que puedes adquirir como administrador de sistemas, aunque estés empezando. Con las claves ssh configuradas, la seguridad ssh reforzada y los comandos ssh básicos bajo control, ya puedes gestionar tu servidor de forma profesional y segura.
Empieza poco a poco: primero conéctate, prueba los comandos básicos, luego implementa las claves y por último aplica las medidas de seguridad avanzadas. No tengas miedo de equivocarte: todo el mundo ha roto algo alguna vez, y así se aprende.
Si usas Syspanel, recuerda que el acceso web es por el puerto 2106, pero SSH es independiente. Con esta guía ya tienes todo lo necesario para administrar tu servidor como un auténtico profesional.
[TIP] Guarda esta guía en tus favoritos y vuelve a ella cada vez que tengas dudas. La práctica constante hará que en pocas semanas domines SSH sin esfuerzo.
