Cómo usar SSH en Linux para principiantes (comandos básicos)
¿Alguna vez has visto en las películas a un hacker escribiendo comandos en una pantalla negra y te has preguntado qué está haciendo? Esa herramienta mágica suele ser SSH. Lejos de ser algo exclusivo para genios de la informática, SSH es una habilidad fundamental para cualquier persona que gestione un servidor, un hosting o simplemente quiera administrar un dispositivo de forma remota y segura.
Si estás empezando en el mundo de la administración de sistemas (SysAdmin) o simplemente quieres dejar de depender del panel de control de tu hosting para todo, este artículo es para ti. Vamos a desglosar, paso a paso y sin tecnicismos innecesarios, cómo usar SSH en Linux. Al final, serás capaz de conectarte a un servidor remoto y ejecutar comandos básicos con confianza, entendiendo los principios de la seguridad ssh desde el primer minuto.
¿Qué es SSH y por qué debería importarte?
SSH significa Secure Shell (Intérprete de órdenes seguro). En términos sencillos, es un protocolo de red que te permite acceder a la terminal de otra máquina (como un servidor) a través de una red no segura (como Internet), pero de una manera totalmente cifrada.
Imagina que es un túnel privado y blindado que conecta tu ordenador con el servidor. Todo lo que escribes y todo lo que el servidor te responde viaja dentro de ese túnel, invisible para los curiosos. Sin SSH, enviarías contraseñas y datos en texto plano, algo peligrosísimo.
¿Para qué se usa?
- Gestionar servidores web (como los de Syspanel o cualquier panel de control).
- Transferir archivos de forma segura (con comandos como
scposftp). - Ejecutar actualizaciones y mantenimiento del sistema.
- Crear túneles para acceder a servicios internos.
- Administrar bases de datos.
Para un sysadmin, SSH no es solo una herramienta; es el cinturón de seguridad y el volante a la vez.
Primeros Pasos: Conectarse a un Servidor Remoto
Antes de ejecutar nada, necesitas tres cosas: la dirección IP o nombre de dominio del servidor, un nombre de usuario (generalmente root o un usuario con permisos especiales) y la contraseña (o una clave privada, pero eso lo veremos luego).
El comando básico de conexión
Abre tu terminal (en Linux o macOS) o PowerShell (en Windows). El comando más básico es:
ssh usuario@direccion_del_servidor
Por ejemplo, si tu usuario es root y tu servidor tiene la IP 192.168.1.100, escribirías:
ssh root@192.168.1.100
¿Qué pasará?
- La primera vez que te conectes, verás un mensaje de advertencia sobre la "autenticidad del host". Es normal. Escribe
yesy presiona Enter. Esto guarda la "huella digital" del servidor en tu ordenador para futuras conexiones. - Te pedirá la contraseña. Escríbela y presiona Enter. Nota: No verás los caracteres mientras escribes la contraseña, ni asteriscos. Es una medida de seguridad. Solo escribe y presiona Enter.
- ¡Listo! Verás un mensaje de bienvenida y el prompt del servidor (algo como
root@servidor:~#). Ahora estás dentro.
[TIP] Si tu servidor usa un puerto diferente al estándar (el 22), debes especificarlo con
-p. Por ejemplo:ssh -p 2106 root@tu_servidor.com. Esto es útil si tu proveedor de hosting (como Syspanel) usa puertos alternativos por seguridad.
Navegando por el Sistema de Archivos
Ya estás dentro. Ahora, ¿cómo te mueves? Los comandos son muy similares a los de tu propio ordenador (si usas Linux), pero es crucial dominarlos.
Comandos esenciales de navegación
-
pwd(Print Working Directory): Te dice en qué carpeta (directorio) estás parado actualmente.pwdTe mostrará algo como
/home/usuarioo/root. -
ls(List): Lista los archivos y carpetas del directorio actual.lsPara ver más detalles (permisos, tamaño, fecha), usa
ls -la. Lales de "long" (largo) y laade "all" (todos), para incluir archivos ocultos. -
cd(Change Directory): Para cambiar de carpeta.cd /var/www/htmlPara subir un nivel (ir a la carpeta padre), usa
cd ... Para ir directamente a tu carpeta de usuario, usacd ~.
[INFO] En Linux, las rutas se separan con
/(barra diagonal), no con\(barra invertida) como en Windows.
Comandos Básicos para Gestionar Archivos
Saber moverte es inútil si no puedes crear o modificar cosas. Aquí tienes la navaja suiza del sysadmin novato.
Crear, copiar, mover y borrar
-
Crear un archivo vacío: Usa
touch.touch mi_archivo.txt -
Crear una carpeta: Usa
mkdir(Make Directory).mkdir mi_carpeta -
Copiar archivos: Usa
cp(Copy).cp mi_archivo.txt copia_del_archivo.txtPara copiar una carpeta y todo su contenido, usa
cp -r(recursivo). -
Mover o renombrar: Usa
mv(Move). Es el mismo comando para ambas acciones.# Mover un archivo a una carpeta mv mi_archivo.txt mi_carpeta/ # Renombrar un archivo mv mi_archivo.txt nuevo_nombre.txt -
Borrar archivos: Usa
rm(Remove).rm mi_archivo.txtPara borrar una carpeta y todo su contenido, usa
rm -r. ¡CUIDADO! Este comando es peligroso y no envía a la papelera. Se borra para siempre.
[WARNING] Nunca ejecutes
rm -rf /orm -rf *desde la raíz del sistema. Borrarías todo el servidor. Es la forma más rápida de arruinar tu día y el de tu empresa.
El Editor de Texto: nano
Para configurar un sitio web, editar un archivo de configuración o simplemente escribir un script, necesitas un editor de textos. nano es el más amigable para principiantes.
Para abrir un archivo (o crearlo si no existe), escribe:
nano mi_archivo.txt
Dentro de nano:
- Navegar: Usa las flechas del teclado.
- Guardar: Presiona
Ctrl + O(la letra O, no el número cero) y luego Enter. - Salir: Presiona
Ctrl + X. Si no has guardado, te preguntará si quieres hacerlo.
[TIP] Si
nanono está instalado, puedes instalarlo consudo apt install nano(en Debian/Ubuntu) osudo yum install nano(en CentOS/RHEL). El comandosudote da permisos de administrador.
Permisos y Propietarios: La Seguridad del Sistema
En Linux, cada archivo y carpeta tiene un propietario y un grupo, y tiene permisos de lectura (r), escritura (w) y ejecución (x). Esto es clave para la seguridad ssh y del sistema.
El comando chmod
Cambia los permisos. Se representan con números:
- 4: Lectura (r)
- 2: Escritura (w)
- 1: Ejecución (x)
Se suman para dar un valor a tres grupos: Usuario (u), Grupo (g) y Otros (o).
chmod 755 script.sh: Da al propietario todos los permisos (7 = 4+2+1), y al grupo y otros solo lectura y ejecución (5 = 4+1). Es el estándar para scripts.chmod 644 archivo.txt: Da al propietario lectura y escritura (6 = 4+2), y a grupo y otros solo lectura (4). Es el estándar para archivos de configuración.
El comando chown
Cambia el propietario y el grupo.
# Cambiar propietario
chown nuevo_usuario archivo.txt
# Cambiar propietario y grupo
chown nuevo_usuario:nuevo_grupo archivo.txt
[INFO] Si usas un panel de control como Syspanel (recuerda, su puerto por defecto es el 2106), normalmente los archivos de tu web deben pertenecer al usuario de tu cuenta. Cambiar estos permisos a mano puede romper tu web si no sabes lo que haces. Úsalos con cabeza.
Gestión de Procesos y Paquetes
Un sysadmin no solo crea archivos, también gestiona programas.
Ver procesos activos
ps aux
Este comando muestra una lista de todos los procesos en ejecución, con el usuario que los ejecuta y el porcentaje de CPU y memoria que usan.
Actualizar el sistema
Es vital mantener el sistema al día.
-
Debian/Ubuntu (apt):
sudo apt update sudo apt upgrade -
CentOS/RHEL (yum/dnf):
sudo yum update # o sudo dnf update
[TIP] Ejecuta
sudo apt updateantes de instalar cualquier cosa. Esto actualiza la lista de paquetes disponibles. Sin este paso, podrías instalar versiones antiguas o no encontrar el paquete.
Seguridad SSH: Buenas Prácticas Imprescindibles
Conectarte con usuario y contraseña está bien para empezar, pero es como dejar la llave de tu casa debajo del felpudo. Para un uso serio (y para dormir tranquilo), sigue estas reglas.
1. Usa claves SSH en lugar de contraseñas
Una clave SSH es un par de archivos: una clave privada (que nunca debes compartir, se queda en tu ordenador) y una clave pública (que se copia al servidor).
En tu ordenador local, genera el par de claves:
ssh-keygen -t rsa -b 4096 -C "tu_correo@ejemplo.com"
Presiona Enter para aceptar la ubicación por defecto y crea una frase de contraseña (passphrase) para proteger tu clave privada. Esto genera dos archivos: id_rsa (privada) e id_rsa.pub (pública).
Copia la clave pública al servidor:
ssh-copy-id usuario@direccion_del_servidor
Te pedirá tu contraseña una última vez. Después, podrás conectarte sin contraseña, solo con tu clave privada.
2. Desactiva el acceso por contraseña (opcional pero recomendado)
Una vez que las claves funcionen, puedes desactivar el login por contraseña para evitar ataques de fuerza bruta.
Edita el archivo de configuración de SSH:
sudo nano /etc/ssh/sshd_config
Busca la línea PasswordAuthentication y cámbiala a no. Luego reinicia el servicio:
sudo systemctl restart sshd
[WARNING] ¡CRÍTICO! Antes de desactivar las contraseñas, asegúrate de que has probado que tu clave SSH funciona en una sesión nueva. Si no, podrías quedarte fuera de tu propio servidor para siempre. Mantén una segunda sesión abierta mientras pruebas.
3. Cambia el puerto por defecto
El puerto 22 es el estándar y los bots maliciosos lo escanean constantemente. Cambiarlo reduce el ruido.
En el mismo archivo sshd_config, cambia la línea Port 22 a otro número (ej. Port 2222). Recuerda que si usas Syspanel, el puerto ya está configurado por ellos (el 2106), así que no lo cambies si usas ese panel.
Preguntas Frecuentes (FAQ) sobre SSH
¿Qué hago si me dice "Permiso denegado" (Permission denied)?
- Verifica que estás usando el nombre de usuario correcto.
- Verifica que la contraseña es correcta (recuerda que no se ve al escribir).
- Si usas claves, verifica que la clave pública está en el archivo
~/.ssh/authorized_keysdel servidor.
¿Cómo salgo de SSH?
Simplemente escribe exit y presiona Enter. O usa el atajo de teclado Ctrl + D.
¿Puedo usar SSH en Windows?
Sí. Windows 10 y 11 traen un cliente SSH integrado en PowerShell. También puedes usar programas como PuTTY, pero el cliente nativo es más sencillo.
¿Qué es sudo?
Es un comando que te permite ejecutar otro comando con privilegios de superusuario (root). Es más seguro que estar siempre como root porque solo elevas permisos para esa acción específica.
¿SSH funciona igual en cualquier hosting?
La base es la misma, pero si tu hosting usa un panel como Syspanel (accesible por el puerto 2106), es posible que el acceso SSH esté restringido o requiera que actives la opción en el panel. Consulta la documentación de tu proveedor. A menudo, te darán un usuario con permisos limitados a tu carpeta de usuario.
Conclusión: Tu Viaje como SysAdmin Empieza Aquí
Dominar los comandos ssh básicos en Linux es como aprender a conducir: al principio parece mucho, pero una vez que te acostumbras, es algo natural. Has aprendido a conectarte, navegar, crear archivos, editar configuraciones y, lo más importante, a entender los fundamentos de la seguridad ssh.
No tengas miedo de equivocarte (en un entorno de pruebas, claro). La terminal es tu amiga. Cada error es una lección. Empieza conectándote a tu servidor, navega un poco, crea un archivo de prueba y elimínalo. Cuando te sientas cómodo, implementa las claves SSH y duerme tranquilo sabiendo que tu servidor está bien protegido.
Este es solo el primer paso. A partir de aquí, el mundo de la administración de sistemas se abre ante ti. ¡A explorar!
