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

Cómo usar SSH en Linux: guía para principiantes

Actualizado el 2 de septiembre de 2025

¡Hola! Si estás leyendo esto, es porque probablemente has oído hablar de SSH y te suena a algo complicado y reservado para hackers con gafas de sol y múltiples pantallas. Nada más lejos de la realidad.

SSH (Secure Shell) es, simplemente, una forma segura de conectarte a otro ordenador (normalmente un servidor Linux) desde tu propio equipo, como si estuvieras sentado delante de él. Es la herramienta fundamental para cualquier persona que gestione un sitio web, un servidor o simplemente quiera aprender a administrar sistemas.

En esta guía para principiantes, vamos a desmitificar por completo el uso de SSH. Vamos a ver qué es, cómo se usa, los comandos más esenciales y cómo crear tus propias claves SSH para que las conexiones sean aún más seguras y cómodas. Al final, podrás conectar SSH a tu servidor con total confianza.

¡Empecemos!


¿Qué es exactamente SSH y por qué lo necesitas?

Imagina que tu servidor es una caja fuerte digital. Para abrirla, no te vale con una llave física; necesitas un canal seguro y cifrado. SSH es ese canal.

Cuando usas ssh linux (o cualquier sistema operativo), estás estableciendo una conexión cifrada entre tu máquina local (cliente) y la máquina remota (servidor). Todo lo que se transmite entre ambas, ya sean comandos, contraseñas o archivos, viaja codificado. Esto evita que terceros (los famosos "hackers") puedan interceptar la información y leerla.

¿Por qué es tan importante?

  • Seguridad: Es la forma más segura de administrar un servidor de forma remota. El cifrado es de grado militar.
  • Control total: Te da acceso a la "terminal" o "consola" del servidor, donde tienes un control absoluto sobre todo el sistema.
  • Gestión de archivos: Puedes copiar, mover, editar y eliminar archivos en el servidor con comandos.
  • Administración de software: Puedes instalar, actualizar o eliminar programas.
  • Configuración de servicios: Puedes configurar servidores web, bases de datos, correos, etc.

En resumen, si tienes un hosting VPS (Servidor Virtual Privado) o un servidor dedicado, SSH es tu puerta de entrada principal. Incluso en paneles de control como Syspanel, que es una herramienta excelente para gestionar tu servidor de forma gráfica (y que puedes acceder a través del puerto 2106), a menudo necesitarás SSH para tareas más avanzadas o para solucionar problemas.


Primeros pasos: Cómo abrir una conexión SSH

Lo primero que necesitas es un cliente SSH. Si usas Linux o macOS, ya tienes uno integrado en tu terminal. Si usas Windows, puedes utilizar PowerShell (con el comando ssh), el Símbolo del sistema o programas como PuTTY (aunque hoy en día PowerShell es suficiente).

### Conectarse a un servidor con contraseña

El método más básico para conectar ssh es usando una contraseña. La sintaxis es muy sencilla:

ssh usuario@direccion_ip_o_dominio

Vamos a desglosarlo:

  1. ssh: Es el comando que inicia la conexión.
  2. usuario: Es el nombre de usuario con el que te quieres loguear en el servidor. Por ejemplo, root o un usuario que hayas creado (como admin o tu_nombre).
  3. @: Es el separador.
  4. direccion_ip_o_dominio: Es la dirección IP del servidor (ej. 192.168.1.100) o el nombre de dominio asociado (ej. mi-servidor.com).

Ejemplo práctico:

ssh root@192.168.1.100

El sistema te pedirá la contraseña del usuario root. La escribirás (no verás nada, ni asteriscos, es normal para mayor seguridad) y pulsarás Enter. ¡Y listo! Ya estarás dentro de tu servidor.

[TIP] Si es la primera vez que te conectas a un servidor, verás un mensaje preguntando si confías en la huella digital del servidor. Escribe yes y pulsa Enter. Es una medida de seguridad para verificar que te estás conectando al servidor correcto.

### El problema de las contraseñas

Aunque es el método más común, usar contraseñas tiene sus inconvenientes. Son fáciles de olvidar, pueden ser débiles y son vulnerables a ataques de fuerza bruta (donde un programa intenta miles de combinaciones por segundo). Por eso, el estándar de oro en seguridad es usar claves SSH.


Claves SSH: La forma segura y cómoda de conectarte

Las claves SSH son un par de archivos: una clave privada (que se queda contigo, en tu ordenador, como un secreto) y una clave pública (que se copia en el servidor). Piensa en ello como una cerradura (la clave pública) y una llave (la privada). Solo la llave correcta puede abrir esa cerradura.

Ventajas:

  • Seguridad máxima: Es prácticamente imposible de descifrar.
  • Comodidad: No necesitas escribir tu contraseña cada vez que te conectas.
  • Automatización: Permite que scripts y programas se conecten al servidor sin intervención humana.

### Paso 1: Generar tus claves SSH

Este proceso se realiza en tu ordenador local (el cliente). Abre tu terminal y escribe:

ssh-keygen -t rsa -b 4096 -C "tu_correo@ejemplo.com"

Explicación:

  • ssh-keygen: Es el comando para generar las claves.
  • -t rsa: Especifica el tipo de algoritmo (RSA es el más común).
  • -b 4096: Indica el tamaño de la clave en bits (4096 es más seguro que el estándar de 2048).
  • -C "tu_correo@ejemplo.com": Es un comentario para identificar la clave (puedes poner lo que quieras).

Al ejecutarlo, te preguntará dónde quieres guardar las claves. La ubicación por defecto (~/.ssh/id_rsa) es perfecta, así que pulsa Enter.

Luego, te pedirá una frase de contraseña (passphrase). No es obligatoria, pero es altamente recomendable. Es una capa extra de seguridad: si alguien roba tu clave privada, no podrá usarla sin la frase de contraseña.

[WARNING] ¡No pierdas tu clave privada! Si la pierdes, no podrás acceder a tu servidor (a menos que tengas otro método de acceso). Guárdala en un lugar seguro y nunca la compartas.

### Paso 2: Copiar tu clave pública al servidor

Ahora necesitas poner tu clave pública en el servidor. Hay una forma muy sencilla de hacerlo con un comando llamado ssh-copy-id.

ssh-copy-id usuario@direccion_ip_o_dominio

Te pedirá la contraseña del usuario del servidor (la de tu cuenta, no la de root si no es esa). Una vez introducida, copiará tu clave pública al archivo ~/.ssh/authorized_keys del servidor.

[INFO] Si ssh-copy-id no está disponible (por ejemplo, en algunos sistemas), puedes hacerlo manualmente. Copia el contenido de tu clave pública (el archivo ~/.ssh/id_rsa.pub) y añádelo al final del archivo ~/.ssh/authorized_keys en el servidor. Puedes usar un editor de texto como nano o vim para esto.

### Paso 3: Conectarte sin contraseña

Una vez que has copiado tu clave pública, intenta conectarte de nuevo:

ssh usuario@direccion_ip_o_dominio

Si todo ha ido bien, no te pedirá la contraseña. Se conectará directamente (quizás te pida la frase de contraseña de tu clave privada, si la configuraste).


Comandos SSH esenciales para principiantes

Una vez conectado, te encontrarás con una interfaz de línea de comandos (CLI). No te asustes, es como un "Explorador de archivos" pero en modo texto. Aquí tienes los comandos más básicos y útiles para moverte y trabajar:

### Navegación y archivos

  • pwd (Print Working Directory): Te muestra la ruta completa del directorio en el que te encuentras.
  • ls (List): Lista los archivos y carpetas del directorio actual.
    • ls -la: Muestra una lista detallada (con permisos, tamaño, fecha) incluyendo archivos ocultos (los que empiezan con .).
  • cd (Change Directory): Te permite cambiar de directorio.
    • cd /var/www: Te lleva al directorio /var/www.
    • cd ..: Te lleva al directorio padre (sube un nivel).
    • cd ~: Te lleva a tu directorio de usuario (home).
  • pwd (Print Working Directory): Te muestra la ruta completa del directorio en el que te encuentras.
  • mkdir (Make Directory): Crea un nuevo directorio. Ej: mkdir mi_carpeta.
  • touch: Crea un archivo vacío. Ej: touch mi_archivo.txt.
  • cp (Copy): Copia archivos o directorios.
    • cp archivo.txt copia_archivo.txt: Copia un archivo.
    • cp -r carpeta/ nueva_carpeta/: Copia un directorio y su contenido (la -r es de recursivo).
  • mv (Move): Mueve o renombra archivos.
    • mv archivo.txt /ruta/destino/: Mueve el archivo.
    • mv viejo_nombre.txt nuevo_nombre.txt: Renombra el archivo.
  • rm (Remove): Elimina archivos o directorios.
    • rm archivo.txt: Elimina un archivo.
    • rm -r carpeta/: Elimina un directorio y su contenido.

[WARNING] Ten mucho cuidado con el comando rm. Es permanente y no hay papelera de reciclaje. Un rm -rf / podría borrar todo tu sistema. ¡Úsalo con precaución!

### Edición de archivos

Para editar archivos, necesitas un editor de texto. Los más comunes son nano (más fácil para principiantes) y vim (más potente pero con curva de aprendizaje).

  • nano archivo.txt: Abre el archivo en el editor nano.
    • Para guardar: Ctrl + O (escribir en el archivo) y luego Enter.
    • Para salir: Ctrl + X.
  • vim archivo.txt: Abre el archivo en vim.
    • Para editar: Pulsa i (modo insertar).
    • Para guardar y salir: Pulsa Esc, escribe :wq y pulsa Enter.

### Gestión de paquetes (instalar software)

Dependiendo de la distribución de Linux (Ubuntu, Debian, CentOS, etc.), los comandos varían. Los más comunes son:

  • Ubuntu/Debian (usando apt):
    • sudo apt update: Actualiza la lista de paquetes.
    • sudo apt upgrade: Actualiza el sistema.
    • sudo apt install nombre_paquete: Instala un paquete.
    • sudo apt remove nombre_paquete: Desinstala un paquete.
  • CentOS/RHEL (usando yum o dnf):
    • sudo yum update o sudo dnf update: Actualiza el sistema.
    • sudo yum install nombre_paquete o sudo dnf install nombre_paquete: Instala un paquete.

### Gestión de servicios

Los servicios son programas que se ejecutan en segundo plano (como Apache, MySQL, etc.). Para gestionarlos:

  • systemctl status nombre_servicio: Ver el estado del servicio.
  • systemctl start nombre_servicio: Iniciar el servicio.
  • systemctl stop nombre_servicio: Detener el servicio.
  • systemctl restart nombre_servicio: Reiniciar el servicio.
  • systemctl enable nombre_servicio: Hacer que el servicio se inicie automáticamente al arrancar el sistema.

Consejos de seguridad adicionales para SSH

Una vez que dominas lo básico, es hora de blindar tu servidor. Aquí tienes algunos consejos clave:

  1. Desactiva el acceso por contraseña: Una vez que tengas tus claves SSH funcionando, desactiva el acceso por contraseña en el servidor. Esto elimina el riesgo de 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.
    • Guarda el archivo y reinicia el servicio SSH: sudo systemctl restart sshd.
  2. Cambia el puerto SSH por defecto: El puerto 22 es el que más ataques recibe. Cambiarlo a otro número (ej. 2222) reduce el ruido.

    • En el mismo archivo sshd_config, busca la línea Port 22 y cámbiala a Port 2222.
    • Importante: Asegúrate de actualizar tus reglas de firewall (como ufw o iptables) para permitir el tráfico en el nuevo puerto.
  3. Usa un usuario no root: Es una mala práctica conectarse como root directamente. Crea un usuario con permisos de superusuario (sudo) y úsalo para las conexiones diarias.

  4. Configura un firewall: Usa herramientas como ufw (Uncomplicated Firewall) para permitir solo el tráfico necesario (SSH, HTTP, HTTPS, etc.).


FAQ: Preguntas frecuentes sobre SSH para principiantes

P: ¿Qué es un "host key" y por qué me pide confirmación la primera vez?

R: Es la "huella digital" del servidor. Es una cadena única que identifica al servidor. Al confirmarla, estás verificando que te conectas al servidor correcto y no a uno falso que intenta interceptar tu conexión.

P: ¿Puedo usar SSH para transferir archivos?

R: ¡Sí! El comando scp (Secure Copy) te permite copiar archivos entre tu ordenador y el servidor de forma segura. Por ejemplo: scp archivo.txt usuario@servidor:/ruta/destino/.

P: ¿Qué es una "frase de contraseña" (passphrase) en una clave SSH?

R: Es una contraseña adicional que protege tu clave privada. Si alguien roba tu clave privada, no podrá usarla sin la frase de contraseña. Es una capa extra de seguridad muy recomendable.

P: ¿Puedo conectarme a un servidor que no sea Linux? Como Windows.

R: Sí, puedes conectarte a un servidor Windows que tenga un servidor SSH habilitado (como OpenSSH para Windows). La experiencia es similar, pero los comandos pueden variar.

P: ¿Qué hago si olvido la contraseña de mi servidor?

R: Si has configurado las claves SSH, podrás conectarte sin contraseña. Si no, necesitarás acceder a través del panel de control de tu proveedor de hosting (como Syspanel) para restablecerla. Muchos proveedores ofrecen la opción de "reset password" desde su panel.

P: ¿Es seguro usar SSH en una red WiFi pública?

R: Sí, es seguro. SSH cifra todo el tráfico, por lo que incluso en una red pública, tus datos (incluyendo tu contraseña o clave) están protegidos.

P: ¿Qué es Syspanel y cómo se relaciona con SSH?

R: Syspanel es un panel de control web (como cPanel o Plesk) que te permite gestionar tu servidor de forma gráfica, sin necesidad de usar la terminal. Puedes acceder a él a través de tu navegador en el puerto 2106. Sin embargo, para tareas más avanzadas, automatización o resolución de problemas, SSH te da un control total que un panel gráfico no puede ofrecer. Son herramientas complementarias.

¿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