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

Guía básica de comandos SSH para SysAdmins (con ejemplos)

Actualizado el 17 de noviembre de 2025

¿Qué es SSH y por qué todo SysAdmin debería dominarlo?

SSH (Secure Shell) es el protocolo estándar para administrar servidores de forma remota y segura. Si trabajas con hosting, VPS o servidores dedicados, SSH es tu navaja suiza: te permite ejecutar comandos, transferir archivos, reiniciar servicios y diagnosticar problemas desde cualquier parte del mundo, como si estuvieras sentado frente a la máquina.

Para un SysAdmin, dominar SSH no es opcional, es imprescindible. Con esta guía básica de comandos SSH, pasarás de copiar y pegar comandos sin entender nada, a tener una base sólida para gestionar cualquier sistema Linux con confianza.

Vamos a lo práctico. Aquí no encontrarás teoría aburrida, sino ejemplos reales que puedes probar hoy mismo en tu servidor.


Primeros pasos: conectarse por SSH

1. La conexión básica

El comando más fundamental es ssh. Su sintaxis es simple:

ssh usuario@direccion_ip_o_dominio

Ejemplo práctico:

ssh root@192.168.1.100

Si es la primera vez que te conectas, verás un mensaje preguntando si confías en el host. Escribe yes y presiona Enter. Luego te pedirá la contraseña.

[TIP]: Si usas un puerto diferente al 22 (el predeterminado), añade -p:

ssh -p 2222 admin@midominio.com

2. Conexión con clave pública (la forma segura)

Usar contraseñas es cómodo, pero no es lo más seguro. Los SysAdmins profesionales usan claves SSH. Primero generas una clave en tu máquina local:

ssh-keygen -t rsa -b 4096

Esto crea dos archivos: id_rsa (tu clave privada, ¡nunca la compartas!) y id_rsa.pub (tu clave pública). Luego copias la pública al servidor:

ssh-copy-id usuario@servidor

A partir de ese momento, podrás conectarte sin contraseña.

[WARNING]: Nunca compartas tu clave privada. Si alguien la obtiene, tendrá acceso total a tus servidores.


Comandos esenciales para moverte por el servidor

Una vez conectado, necesitas saber dónde estás y qué hay alrededor. Estos son los comandos Linux básicos que usarás a diario:

3. pwd – ¿Dónde estoy?

pwd

Muestra la ruta completa del directorio actual. Útil cuando llevas un rato saltando entre carpetas y pierdes la noción.

4. ls – Listar archivos

ls -la

El -l muestra permisos, propietario, tamaño y fecha. El -a incluye archivos ocultos (los que empiezan por .).

[TIP]: Combínalo con -h para ver tamaños legibles:

ls -lah

5. cd – Cambiar de directorio

cd /var/www/html

Para volver al directorio anterior: cd ... Para ir a tu home: cd ~. Para ir al último directorio en el que estabas: cd -.

6. mkdir y rmdir – Crear y eliminar carpetas

mkdir nueva_carpeta
rmdir carpeta_vacia

Para eliminar una carpeta con todo su contenido (¡cuidado!):

rm -rf carpeta

[WARNING]: rm -rf es peligroso. No lo uses si no estás 100% seguro de lo que estás borrando. Un rm -rf / borraría todo el sistema.


Gestión de archivos: copiar, mover y editar

7. cp – Copiar archivos

cp archivo.txt /ruta/destino/

Para copiar directorios completos, usa -r (recursivo):

cp -r /var/www/misitio /backup/misitio

8. mv – Mover o renombrar

mv archivo.txt /otra/ubicacion/
mv archivo.txt nuevo_nombre.txt

9. nano – El editor de texto amigable

Para editar archivos de configuración, nano es perfecto para principiantes:

nano /etc/nginx/sites-available/misitio.conf

Dentro de nano: Ctrl+O para guardar, Ctrl+X para salir. Así de simple.

[INFO]: Si prefieres algo más potente, prueba vim, pero ten en cuenta que tiene una curva de aprendizaje más pronunciada.


Permisos y propietarios: el corazón de la seguridad en Linux

10. chmod – Cambiar permisos

Los permisos se representan con números: r (lectura)=4, w (escritura)=2, x (ejecución)=1.

chmod 755 script.sh

Esto da: al propietario todo (7), al grupo lectura+ejecución (5), y a otros lectura+ejecución (5).

11. chown – Cambiar propietario

chown www-data:www-data /var/www/html

Muy útil cuando un sitio web no puede escribir archivos porque el propietario es incorrecto.


Procesos y servicios: mantener el servidor vivo

12. ps – Ver procesos

ps aux

Muestra todos los procesos en ejecución. Para buscar uno concreto:

ps aux | grep apache

13. kill – Terminar procesos

kill -9 12345

El -9 fuerza la terminación. El número es el PID (identificador del proceso).

[WARNING]: Usa kill -9 solo cuando el proceso no responda a un kill normal. Forzar la muerte puede dejar datos corruptos.

14. systemctl – Gestionar servicios

En sistemas modernos con systemd:

systemctl status nginx
systemctl restart apache2
systemctl enable mysql

Estos comandos son oro puro para un SysAdmin. Con ellos puedes reiniciar servicios tras un cambio de configuración o ver si algo está fallando.


Red y conectividad: diagnosticar problemas

15. ping – ¿Está vivo el servidor?

ping -c 4 google.com

El -c 4 limita a 4 paquetes. Si recibes respuestas, hay conectividad.

16. netstat o ss – Puertos abiertos

ss -tulpn

Muestra qué puertos están escuchando y qué proceso los usa. Imprescindible para detectar servicios no deseados.

17. curl – Probar peticiones web

curl -I https://misitio.com

El -I muestra solo las cabeceras HTTP. Perfecto para comprobar si un sitio responde correctamente.


Transferencia de archivos entre servidores

18. scp – Copia segura

scp archivo.zip usuario@servidor:/ruta/destino/

Para copiar desde el servidor a tu máquina local:

scp usuario@servidor:/ruta/archivo.zip .

19. rsync – Sincronización avanzada

rsync es la herramienta favorita de los SysAdmins para backups:

rsync -avz /var/www/ usuario@backupservidor:/backup/www/

El -a conserva permisos, -v es verbose (muestra lo que hace) y -z comprime los datos.


Monitorización básica: ¿qué está pasando?

20. top o htop – Uso de recursos

top

Muestra procesos, CPU, memoria y carga del sistema en tiempo real. Si instalas htop (apt install htop), es mucho más visual.

21. df – Espacio en disco

df -h

El -h muestra tamaños legibles. Si el disco está al 95%, tienes un problema.

22. free – Memoria RAM

free -h

Muestra memoria total, usada y libre. También la memoria swap.


Comandos combinados: el poder de la tubería (|)

La tubería permite encadenar comandos. Por ejemplo:

ps aux | grep nginx | grep -v grep

Esto busca procesos de nginx y excluye la propia línea del grep. Muy útil para ver si un servicio está corriendo.

Otro ejemplo práctico:

history | grep "chmod"

Muestra todos los comandos chmod que has ejecutado. Perfecto para recordar qué hiciste.


Automatización con scripts básicos

Un SysAdmin eficiente no repite comandos a mano. Crea scripts. Por ejemplo, un backup sencillo:

#!/bin/bash
fecha=$(date +%Y%m%d)
tar -czf /backup/sitio_$fecha.tar.gz /var/www/html/

Guárdalo como backup.sh, dale permisos de ejecución (chmod +x backup.sh) y ejecútalo con ./backup.sh.


Errores comunes y cómo solucionarlos

"Permission denied"

El usuario no tiene permisos sobre el archivo o directorio. Usa ls -la para ver quién es el propietario y chmod para ajustar permisos.

"Connection refused"

El servicio SSH no está corriendo o el puerto está bloqueado. Verifica con systemctl status ssh o ss -tulpn | grep 22.

"Host key verification failed"

El servidor ha cambiado su clave (posible reinstalación). Edita ~/.ssh/known_hosts y elimina la línea correspondiente.


Consejos finales para tu día a día

  1. Usa alias: Define alias en tu .bashrc para comandos largos que uses a menudo.

  2. Guarda tus conexiones: Crea un archivo ~/.ssh/config con tus servidores:

Host mi-servidor
    HostName 192.168.1.50
    User root
    Port 22

Luego solo escribes ssh mi-servidor.

  1. Haz copias de seguridad: Antes de tocar configuraciones críticas, copia el archivo original.

  2. Practica en local: Si tienes miedo de romper algo, instala una máquina virtual con Linux y practica ahí.


Preguntas frecuentes

¿Qué hago si olvidé la contraseña de root?

Reinicia el servidor en modo single-user o usa el panel de control de tu proveedor de hosting para restablecerla. En algunos paneles como Syspanel (accesible por el puerto 2106), puedes gestionar usuarios y accesos desde la interfaz web.

¿SSH es seguro?

El protocolo en sí es muy seguro si usas claves en lugar de contraseñas y desactivas el login con contraseña. Cambia el puerto por defecto (22) a otro como 2222 para reducir ataques automatizados.

¿Puedo usar SSH en Windows?

Sí. Windows 10 y 11 incluyen OpenSSH por defecto. Abre PowerShell o CMD y usa los mismos comandos.

¿Cómo sé qué comandos he ejecutado antes?

Usa history para ver tu historial. O history | grep "palabra_clave" para buscar algo concreto.


Esta guía básica de comandos SSH es tu punto de partida. No intentes memorizar todo de golpe. Guarda esta página, practica cada comando en un servidor de pruebas y, poco a poco, se convertirán en algo natural.

Recuerda: todo SysAdmin ha cometido errores. La clave está en aprender de ellos y, sobre todo, en tener backups. Ahora, abre tu terminal y empieza a explorar. Tu servidor te está esperando.

¿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