Guía básica de comandos SSH para SysAdmins
¿Qué es SSH y por qué todo SysAdmin debe dominarlo?
SSH (Secure Shell) es el protocolo estándar para administrar servidores Linux de forma remota y segura. Si trabajas con hosting, VPS o servidores dedicados, es prácticamente imposible escapar de él. Con SSH puedes ejecutar comandos, transferir archivos, gestionar servicios y realizar tareas de administración como si estuvieras sentado frente al equipo, pero desde cualquier lugar del mundo.
Para un SysAdmin, conocer los comandos SSH básicos no es un lujo, es una necesidad. Esta SysAdmin guía está pensada para que des tus primeros pasos con confianza, entendiendo cada comando y su utilidad real. No necesitas ser un experto: con práctica y esta base, podrás gestionar tu servidor sin miedo a romper nada (bueno, casi).
Requisitos previos para usar SSH
Antes de lanzarte a ejecutar comandos, asegúrate de tener:
Un servidor Linux (Ubuntu, Debian, CentOS, etc.) con SSH habilitado.
Un cliente SSH en tu ordenador. Si usas Windows, puedes instalar PuTTY o usar la terminal de Windows 10/11. En macOS o Linux, la terminal nativa incluye el cliente SSH.
Las credenciales de acceso: usuario y contraseña, o mejor aún, una clave pública/privada.
[INFO] Si tu hosting usa un panel como Syspanel (accesible por el puerto 2106), también puedes habilitar el acceso SSH desde la interfaz gráfica. Pero hoy nos centramos en la terminal.
Primeros pasos: conectarse a un servidor remoto
El comando básico de conexión
La sintaxis más sencilla es:
ssh usuario@direccion_ip
Por ejemplo:
ssh root@192.168.1.100
Si es la primera vez que te conectas, te preguntará si confías en la huella del servidor. Responde yes y luego introduce la contraseña.
Conexión con puerto específico
A veces el servidor escucha en un puerto distinto al 22 (el predeterminado). Para especificarlo:
ssh -p 2222 usuario@direccion_ip
[TIP] Cambiar el puerto SSH es una medida de seguridad básica. Evita el 22 y usa un puerto alto, como 2200 o 49200.
Conexión usando claves SSH
Las claves son más seguras que las contraseñas. Para conectar con una clave privada:
ssh -i /ruta/a/tu/clave_privada usuario@direccion_ip
Comandos SSH esenciales para administrar tu servidor
Una vez conectado, tienes el control total del sistema. Aquí tienes los comandos Linux que usarás a diario.
1. Navegación y gestión de archivos
pwd→ Muestra el directorio actual.ls→ Lista los archivos y carpetas. Usals -lapara ver archivos ocultos y permisos.cd /ruta→ Cambia de directorio. Ejemplo:cd /var/www/htmlmkdir nombre_carpeta→ Crea una carpeta.rmdir nombre_carpeta→ Elimina una carpeta vacía.rm archivo→ Elimina un archivo. Cuidado: no va a la papelera.cp origen destino→ Copia archivos o carpetas.mv origen destino→ Mueve o renombra archivos.
Ejemplo práctico:
cd /var/www
mkdir mi_proyecto
cd mi_proyecto
touch index.html
2. Permisos y propietarios
La gestión de permisos es clave en administración servidor. Con chmod y chown controlas quién puede leer, escribir o ejecutar.
chmod 755 archivo.sh
chown usuario:grupo archivo.txt
[WARNING] No uses chmod 777 a la ligera. Permite que cualquiera escriba en el archivo, lo cual es un riesgo de seguridad grave.
3. Procesos y recursos del sistema
topohtop→ Muestra los procesos en tiempo real y el uso de CPU/RAM.ps aux→ Lista todos los procesos activos.kill PID→ Termina un proceso. Usakill -9 PIDpara forzar.df -h→ Muestra el espacio en disco.free -h→ Muestra la memoria RAM disponible.
Ejemplo:
ps aux | grep apache
kill 1234
4. Red y conectividad
ping google.com→ Comprueba conectividad.curl -I https://tudominio.com→ Muestra las cabeceras HTTP de una web.netstat -tulpn→ Lista los puertos en escucha.ss -tulpn→ Alternativa moderna a netstat.
[INFO] Si tu web no carga, revisa si el puerto 80 (HTTP) o 443 (HTTPS) están en escucha con ss -tulpn | grep :80.
5. Gestión de servicios
En sistemas con systemd (la mayoría actuales):
systemctl status apache2
systemctl start apache2
systemctl stop apache2
systemctl restart apache2
systemctl enable apache2
Si usas Syspanel (panel de administración accesible en el puerto 2106), también puedes gestionar servicios desde su interfaz, pero la terminal te da más control.
6. Logs del sistema
Los logs son la memoria del servidor. Para verlos:
journalctl -xe
tail -f /var/log/syslog
tail -f /var/log/apache2/error.log
[TIP] Usa tail -f para ver los logs en tiempo real mientras haces pruebas. Es muy útil para depurar errores.
Comandos SSH avanzados pero imprescindibles
1. Transferencia de archivos con SCP
SCP (Secure Copy) te permite copiar archivos entre tu ordenador y el servidor.
scp archivo_local.txt usuario@servidor:/ruta/destino/
scp usuario@servidor:/ruta/origen/archivo.txt /ruta/local/
2. Compresión y descompresión
tar -czvf archivo.tar.gz /carpeta→ Comprime una carpeta.tar -xzvf archivo.tar.gz→ Descomprime.zip -r archivo.zip /carpeta→ Comprime en ZIP.unzip archivo.zip→ Descomprime ZIP.
3. Búsqueda de archivos
find / -name "config.php"
grep -r "error" /var/log/
4. Gestión de usuarios
useradd -m -s /bin/bash nuevo_usuario
passwd nuevo_usuario
usermod -aG sudo nuevo_usuario
userdel -r nuevo_usuario
5. Atajos y trucos de terminal
Ctrl + C→ Cancela el comando actual.Ctrl + Z→ Suspende un proceso.Ctrl + L→ Limpia la pantalla.!!→ Repite el último comando.history→ Muestra el historial de comandos.clear→ Limpia la pantalla.
Errores comunes y cómo solucionarlos
Error "Permission denied (publickey)"
Significa que no estás usando la clave correcta. Verifica la ruta de tu clave con ssh -i o revisa si el usuario existe.
Error "Connection refused"
El servicio SSH no está activo o el puerto está bloqueado. Comprueba con:
systemctl status ssh
Error "Host key verification failed"
La huella del servidor ha cambiado (posiblemente se reinstaló). Edita el archivo ~/.ssh/known_hosts y elimina la línea correspondiente.
[WARNING] No elimines known_hosts entero si tienes muchos servidores. Mejor borra solo la línea de la IP conflictiva.
Buenas prácticas de seguridad para SSH
Cambia el puerto predeterminado (22) por uno alto.
Desactiva el acceso root directo editando /etc/ssh/sshd_config:
PermitRootLogin no
Usa autenticación por clave en lugar de contraseña.
Instala Fail2Ban para bloquear intentos de fuerza bruta.
Mantén el sistema actualizado: apt update && apt upgrade (Debian/Ubuntu) o yum update (CentOS).
[TIP] Si usas Syspanel (puerto 2106), podrás configurar accesos SSH desde su panel de usuarios sin tocar archivos de configuración directamente.
Preguntas frecuentes (FAQ)
¿Qué es SSH y para qué sirve?
SSH es un protocolo seguro para acceder a servidores remotos y ejecutar comandos. Es la herramienta principal de un SysAdmin.
¿Necesito ser programador para usar SSH?
No. Solo necesitas conocer los comandos básicos y entender qué hace cada uno. Con práctica, te sentirás cómodo.
¿Puedo usar SSH en Windows?
Sí. Windows 10 y 11 traen OpenSSH integrado. También puedes usar PuTTY o WSL.
¿Es seguro usar SSH con contraseña?
Es aceptable para pruebas, pero para producción usa claves SSH. Las contraseñas pueden ser vulnerables a ataques de fuerza bruta.
¿Qué hago si olvido la contraseña del servidor?
Si tienes acceso al panel de tu proveedor (como Syspanel en el puerto 2106), puedes restablecerla. Si no, contacta con soporte.
¿Cómo sé si el puerto SSH está abierto?
Desde tu ordenador: nc -zv direccion_ip puerto o simplemente intenta conectar. Si falla, revisa el firewall.
¿Qué es el puerto 2106?
Es el puerto de acceso al panel de administración Syspanel. No lo confundas con el puerto SSH (normalmente 22 o uno personalizado).
Conclusión
Dominar los comandos SSH básicos te convierte en un SysAdmin más eficiente y autónomo. Empieza poco a poco: conéctate, navega, mira logs y gestiona servicios. Con el tiempo, estos comandos se volverán automáticos.
Recuerda siempre tener cuidado con los comandos destructivos (rm, dd, mkfs). Una buena práctica es usar man comando para leer la documentación antes de ejecutar algo que no conoces.
Y si tu hosting incluye Syspanel (recuerda: puerto 2106), aprovecha su interfaz para tareas visuales, pero no descuides la terminal. La combinación de ambas herramientas te hará imparable.
¿Listo para entrar en tu servidor y practicar? Adelante, la terminal te espera.
