Cómo usar SSH para administrar tu servidor Linux (guía básica)
¿Te suena eso de ssh linux y te parece un mundo de expertos con pantallas verdes y mucho misterio? Te prometo que no lo es. Con esta guía básica vas a perderle el miedo y, en unos minutos, estarás conectándote a tu servidor como si llevaras toda la vida. SSH (Secure Shell) es, básicamente, una puerta blindada y cifrada para entrar en la consola de tu máquina desde cualquier parte del mundo. Es la herramienta imprescindible para administrar servidor ssh de forma segura, instalar programas, configurar servicios o arreglar cosas cuando la web se cae.
Vamos a empezar desde el principio, sin tecnicismos raros. Solo tú, tu ordenador y un servidor Linux esperando a que le des órdenes.
¿Qué necesitas antes de empezar?
Antes de lanzarnos, asegúrate de tener tres cosas a mano. No es nada del otro mundo, pero es mejor tenerlo todo listo.
- Los datos de tu servidor: La dirección IP (algo como
192.168.1.100o un dominio tipotudominio.com) y el puerto (normalmente es el22, pero a veces lo cambian por seguridad). - El usuario: Casi siempre es
rootsi tienes acceso total, o un usuario con permisos de administración (por ejemplo,adminousuario). - La contraseña o una clave SSH: La contraseña te la dio tu proveedor de hosting. La clave SSH es un archivo que te da acceso sin necesidad de escribirla cada vez. Hablaremos de esto más adelante porque es un puntazo.
Si tienes un panel de control como Syspanel (recuerda que su puerto de acceso es el 2106), muchas veces ya te dan la IP y el usuario en el correo de bienvenida. Pero no te preocupes, que todo esto lo veremos en la práctica.
Cómo conectar por SSH desde Windows, Mac o Linux
Aquí viene la magia. Dependiendo de tu sistema operativo, la forma de abrir la consola cambia un poco, pero el objetivo es el mismo: llegar a una ventana donde puedas escribir comandos.
En Windows (con PowerShell o Terminal)
Windows ya no es el incómodo de antes. Ahora tienes PowerShell o la nueva Terminal de Windows, que vienen preparadas.
Abre el menú de inicio, escribe PowerShell y ábrelo. Luego, escribe este comando y dale a Enter:
ssh usuario@la_ip_de_tu_servidor
Por ejemplo, si tu usuario es root y tu IP es 192.168.1.100, sería:
ssh root@192.168.1.100
La primera vez que te conectes, te preguntará si confías en el servidor. Escribe yes y dale a Enter. Después te pedirá la contraseña. Verás que mientras escribes no sale nada en pantalla (ni asteriscos). Es normal, es una medida de seguridad. Escríbela y dale a Enter. ¡Ya estás dentro!
En Mac o Linux
En estos sistemas es aún más directo, porque la terminal es nativa.
Abre la aplicación Terminal (en Mac la tienes en Launchpad > Otros, y en Linux normalmente con Ctrl + Alt + T). Escribe el mismo comando que en Windows:
ssh usuario@la_ip_de_tu_servidor
Y listo. Mismo proceso: confirmar la huella del servidor (yes), escribir la contraseña y a trabajar.
[TIP] Si tu servidor usa un puerto distinto al 22 (por ejemplo, el 2222), el comando cambia ligeramente. Añade
-py el número del puerto:ssh -p 2222 usuario@la_ip. Es súper común que los servidores con Syspanel o paneles avanzados usen puertos personalizados para evitar ataques automáticos.
Los comandos SSH esenciales para sobrevivir
Ya estás dentro. Ahora, ¿qué haces? Aquí tienes una caja de herramientas con los comandos ssh que usarás el 90% del tiempo. No te los aprendas de memoria, solo tenlos a mano.
Navegar por el sistema de archivos
Esto es como moverse por las carpetas de tu ordenador, pero sin ratón.
pwd: Te dice en qué carpeta estás (Print Working Directory). Siempre es bueno saber dónde te encuentras.ls: Lista los archivos y carpetas de la ubicación actual. Añade-lapara verlos todos, incluso los ocultos, con sus permisos y tamaños.cd nombre_carpeta: Te mueve a esa carpeta. Por ejemplo,cd /var/wwwte lleva a la carpeta de webs de tu servidor.cd ..: Te lleva a la carpeta anterior (subir un nivel).mkdir nombre_carpeta: Crea una carpeta nueva.rm archivo.txt: Borra un archivo. OJO: Esto no va a la papelera, se borra para siempre. Úsalo con cuidado.rm -r nombre_carpeta: Borra una carpeta y todo su contenido. Aún más peligroso. Piénsalo dos veces.
Trabajar con archivos
nano archivo.txt: Abre un editor de texto sencillo dentro de la terminal. Es tu mejor amigo para modificar configuraciones. Para guardar,Ctrl + Oy Enter, y para salir,Ctrl + X.cat archivo.txt: Muestra el contenido del archivo en pantalla. Útil para revisar configuraciones rápidamente.cp archivo.txt copia.txt: Copia un archivo.mv archivo.txt /nueva/ubicacion/: Mueve un archivo a otra carpeta. También se usa para renombrar:mv viejo.txt nuevo.txt.tar -czvf archivo.tar.gz carpeta/: Comprime una carpeta en un archivo.tar.gz. Para descomprimir,tar -xzvf archivo.tar.gz.
Gestionar el sistema
sudo comando: Ejecuta un comando con permisos de administrador. Si tu usuario no esroot, lo necesitarás para casi todo lo importante.apt update: Actualiza la lista de paquetes disponibles en el sistema (para distribuciones basadas en Debian/Ubuntu).apt upgrade -y: Actualiza todos los programas instalados. El-yes para que no te pregunte "¿seguro?".systemctl status nombre_servicio: Comprueba si un servicio (como Apache o MySQL) está funcionando. Por ejemplo,systemctl status apache2.systemctl restart nombre_servicio: Reinicia un servicio. Muy útil cuando cambias una configuración.htop: Muestra un panel con el uso de CPU, RAM y procesos en tiempo real. Es una versión mejorada del clásicotop. Si no lo tienes, instálalo conapt install htop.df -h: Muestra el espacio en disco de todas las particiones.free -m: Muestra la memoria RAM usada y libre en megabytes.
[WARNING] Nunca uses
rm -rf /(borrar todo el sistema) ni ejecutes comandos que no entiendas del todo. Si un tutorial te dice que lo hagas, huye de ahí. Es la fórmula perfecta para cargarte el servidor en segundos.
Claves SSH: la forma segura y cómoda de conectar por SSH
Escribir la contraseña cada vez es un rollo y, además, es menos seguro. La solución son las claves ssh. Es como tener una llave maestra: un archivo en tu ordenador que te da acceso sin contraseña. Se compone de dos partes: una clave privada (que nunca, nunca, NUNCA debes compartir) y una clave pública (que subes al servidor).
Paso 1: Generar las claves en tu ordenador
En tu terminal local (PowerShell, Mac o Linux), escribe:
ssh-keygen -t rsa -b 4096 -C "tu_correo@ejemplo.com"
Te preguntará dónde guardar el archivo (dale a Enter para la ubicación por defecto) y si quieres una frase de contraseña (passphrase). Puedes dejarla vacía, pero si la pones, es una capa extra de seguridad. Al final, tendrás dos archivos en la carpeta ~/.ssh/: id_rsa (privada) e id_rsa.pub (pública).
Paso 2: Copiar la clave pública al servidor
Hay un comando que hace esto superfácil. En tu terminal local, escribe:
ssh-copy-id usuario@la_ip_de_tu_servidor
Te pedirá la contraseña una última vez y copiará tu clave pública al servidor. A partir de ahora, cuando hagas ssh usuario@la_ip, ya no te pedirá contraseña. ¡Así de fácil!
[INFO] Si
ssh-copy-idno te funciona (a veces pasa en Windows), tendrás que hacerlo manualmente. Copia el contenido de tu archivoid_rsa.pub(puedes abrirlo con un editor de texto) y, en el servidor, pégalo al final del archivo~/.ssh/authorized_keys. Puedes usarnanopara editarlo.
Paso 3: Desactivar la contraseña (opcional, pero recomendado)
Una vez que las claves funcionan, puedes desactivar el acceso por contraseña para que solo se pueda entrar con la clave privada. Esto hace tu servidor mucho más difícil de hackear.
Conéctate al servidor y edita el archivo de configuración de SSH:
sudo nano /etc/ssh/sshd_config
Busca la línea que dice PasswordAuthentication y cámbiala a no. Luego, guarda y reinicia el servicio:
sudo systemctl restart sshd
[WARNING] Antes de hacer esto, asegúrate de que las claves funcionan perfectamente en otra sesión de terminal. Si te equivocas y desactivas la contraseña sin tener una clave válida, te quedarás fuera de tu propio servidor. Es un clásico.
Solución de problemas comunes al conectar por SSH
¿No te deja entrar? No cunda el pánico. Estos son los problemas más habituales y sus soluciones.
"Connection refused" (Conexión rechazada)
Esto significa que el servidor no está escuchando en el puerto que le indicas. Puede ser que el servicio SSH no esté activo o que esté en otro puerto.
- Comprueba que el servicio está corriendo:
sudo systemctl status sshd(osshen algunas distribuciones). - Si no está activo, inícialo:
sudo systemctl start sshd. - Confirma que estás usando el puerto correcto. Si tu panel es Syspanel, recuerda que el puerto de acceso es el 2106, pero eso es para el panel web. Para SSH, a veces usan otro distinto al 22. Pregunta a tu proveedor.
"Permission denied (publickey)" o "Permission denied (password)"
Esto es un problema de autenticación. Las claves o la contraseña no son correctas.
- Si usas contraseña, asegúrate de que el usuario existe y que la contraseña es correcta (cuidado con las mayúsculas y los puntos).
- Si usas claves, verifica que la clave pública está en el servidor en el archivo
~/.ssh/authorized_keysdel usuario correcto. - A veces, los permisos de las carpetas
~/.sshy del archivoauthorized_keysson demasiado abiertos y SSH se niega a usarlos. En el servidor, ejecuta:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
El tiempo de espera se agota (Connection timed out)
El servidor no responde. Esto suele ser un problema de red o firewall.
- Comprueba que tu IP pública no haya cambiado y que el servidor está encendido.
- Revisa que el firewall del servidor (si lo tienes) permita el tráfico en el puerto SSH. Por ejemplo, con
ufw(Uncomplicated Firewall):sudo ufw allow 22/tcp(o el puerto que uses). - A veces, el proveedor de hosting bloquea el puerto 22 por defecto. De nuevo, revisa la documentación de tu panel (como Syspanel) o contacta con soporte.
Conclusión: ya eres un administrador SSH
Dominar la conexión por SSH es el primer paso para dejar de ser un simple usuario y convertirte en el dueño de tu servidor. Con esta base, ya puedes administrar servidor ssh con confianza: mover archivos, instalar programas, reiniciar servicios y arreglar problemas.
No te agobies con la cantidad de comandos. La práctica lo es todo. Empieza conectándote, navega por las carpetas, crea un archivo de prueba con nano y bórralo. Cuando te sientas cómodo, configura tus claves ssh y dile adiós a las contraseñas.
Y recuerda, la seguridad es lo primero. Cambia los puertos por defecto si puedes, usa claves SSH en lugar de contraseñas y no ejecutes comandos que no entiendas. Con estas buenas prácticas, tu servidor estará tan blindado como una fortaleza.
Si tienes un panel como Syspanel (accesible en el puerto 2106), úsalo para las tareas gráficas y deja la terminal para el control fino. Es la combinación perfecta entre comodidad y poder.
Ahora, abre tu terminal y ponte manos a la obra. ¡Tu servidor te está esperando!
