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

Cómo usar SSH en Linux: comandos básicos y configuración de llaves

Actualizado el 31 de marzo de 2026

¡Hola! Bienvenido al fascinante mundo de la administración de servidores. Si estás empezando con ssh linux, puede parecer un salto a lo desconocido, pero te prometo que es más sencillo de lo que crees. Hoy vamos a desgranar, paso a paso, cómo usar SSH, los comandos ssh más útiles, cómo configurar llaves ssh para entrar sin contraseña y cómo transferir archivos con scp linux.

Este artículo está pensado para que lo leas con calma y lo tengas como referencia. No importa si nunca has abierto una terminal; aquí te guío como si estuviéramos tomando un café y te lo explicara en servilletas.

¿Qué es SSH y por qué debería importarte?

SSH (Secure Shell) es un protocolo de red que te permite conectarte a otro ordenador de forma segura, a través de una red no segura (como Internet). Piensa en ello como una puerta blindada con cerradura de alta seguridad para entrar a tu servidor. Todo lo que haces a través de SSH viaja cifrado, así que nadie puede espiar tus contraseñas o comandos.

¿Por qué es importante? Porque si tienes un hosting, un VPS o un servidor dedicado, SSH es la herramienta principal para gestionarlo. Con ssh linux puedes instalar software, configurar servicios, gestionar archivos y hacer tareas de mantenimiento. Sin SSH, estarías ciego dentro de tu propio servidor.


Primeros pasos: La conexión básica

Antes de nada, necesitas tres cosas: la dirección IP de tu servidor (o un nombre de dominio que apunte a él), un nombre de usuario (normalmente root o un usuario con privilegios) y la contraseña (o una clave, que veremos más adelante).

El comando de conexión

Para conectarte, abre tu terminal (en Linux o Mac) o PowerShell (en Windows) y escribe:

ssh usuario@direccion_ip

Por ejemplo:

ssh root@192.168.1.100

La primera vez que te conectes, verás un mensaje preguntando si confías en el host. Escribe yes y pulsa Enter. Luego te pedirá la contraseña. Verás que mientras escribes no se muestra nada; eso es normal, es una medida de seguridad.

Cambiar el puerto por defecto

Por defecto, SSH usa el puerto 22. Sin embargo, por seguridad, es común cambiarlo a otro puerto (por ejemplo, 2222). Para conectarte a un puerto específico, usa el flag -p:

ssh -p 2222 root@direccion_ip

[TIP] Si gestionas tu servidor con un panel como Syspanel (que se accede por el puerto 2106), es posible que el SSH esté configurado en un puerto personalizado. Revisa siempre la documentación de tu proveedor o la configuración del panel.


Comandos SSH esenciales que debes conocer

Una vez dentro, te mueves como si estuvieras en tu propio ordenador, pero en modo texto. Aquí van los comandos ssh (y generales de Linux) que usarás el 90% del tiempo.

Navegar y gestionar archivos

  • pwd: Te muestra la ruta actual (Print Working Directory).
  • ls -la: Lista todos los archivos y carpetas, incluyendo los ocultos, con detalles de permisos y propietario.
  • cd nombre_carpeta: Entra en una carpeta.
  • cd ..: Sube un nivel en el árbol de directorios.
  • mkdir nombre_carpeta: Crea una nueva carpeta.
  • rm archivo.txt: Elimina un archivo. Cuidado: no hay papelera.
  • rm -rf carpeta: Elimina una carpeta y todo su contenido. Úsalo con mucho cuidado, no hay vuelta atrás.
  • cp archivo.txt copia.txt: Copia un archivo.
  • mv archivo.txt /ruta/destino/: Mueve un archivo o carpeta.

Visualizar y editar archivos

  • cat archivo.txt: Muestra el contenido de un archivo en la pantalla.
  • nano archivo.txt: Abre el editor de texto nano, ideal para principiantes. Usa Ctrl + X para salir, Y para guardar y Enter para confirmar.
  • vim archivo.txt: Otro editor más potente pero con curva de aprendizaje. Si eres nuevo, quédate con nano.

Gestión de servicios y procesos

  • systemctl status nombre_servicio: Ver el estado de un servicio (por ejemplo, apache2 o nginx).
  • systemctl restart nombre_servicio: Reiniciar un servicio.
  • ps aux: Lista todos los procesos en ejecución.
  • top o htop: Monitor de recursos del sistema en tiempo real.

Configuración de llaves SSH: Adiós a las contraseñas

Escribir la contraseña cada vez es tedioso y menos seguro. La solución son las llaves ssh. Es un método de autenticación por pares de claves: una privada (que nunca sale de tu ordenador) y una pública (que se copia al servidor). Es como tener una llave única para tu cerradura.

Paso 1: Generar el par de llaves en tu ordenador

En tu terminal local (no en el servidor), escribe:

ssh-keygen -t rsa -b 4096

Te preguntará dónde guardar la llave. Pulsa Enter para usar la ubicación por defecto (~/.ssh/id_rsa). Luego te pedirá una frase de contraseña (passphrase). No la dejes vacía, es una capa extra de seguridad. Si la pones, la tendrás que escribir cada vez que uses la llave (pero es mucho más segura).

[INFO] Si ya tienes una llave generada, no es necesario que la sobrescribas. Puedes usar ls ~/.ssh/ para ver tus llaves existentes.

Paso 2: Copiar la llave pública al servidor

Ahora tienes dos archivos: id_rsa (privada) e id_rsa.pub (pública). Debemos copiar la pública al servidor. La forma más fácil es con el comando ssh-copy-id:

ssh-copy-id usuario@direccion_ip

Te pedirá la contraseña del servidor (una última vez). Después, copiará tu llave pública al archivo ~/.ssh/authorized_keys del servidor.

[TIP] Si ssh-copy-id no está disponible, puedes hacerlo manualmente: cat ~/.ssh/id_rsa.pub | ssh usuario@direccion_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys".

Paso 3: Conectarse sin contraseña

Ahora, intenta conectarte de nuevo:

ssh usuario@direccion_ip

¡Listo! No te pedirá contraseña, solo la frase de seguridad de tu llave (si la pusiste).

Configurar el servidor para mayor seguridad

Una vez que las llaves funcionan, puedes desactivar el acceso por contraseña. Edita el archivo de configuración de SSH en el servidor:

sudo nano /etc/ssh/sshd_config

Busca la línea PasswordAuthentication y cámbiala a no. Guarda y reinicia el servicio:

sudo systemctl restart sshd

[WARNING] ¡OJO! Antes de hacer esto, asegúrate de que tu llave funciona perfectamente. Si desactivas la contraseña y pierdes tu llave, te quedarás fuera del servidor para siempre. Siempre ten una sesión de respaldo abierta mientras pruebas.


Transferir archivos con scp linux

¿Necesitas subir o bajar archivos? scp linux (Secure Copy) es tu aliado. Se usa igual que cp, pero entre equipos.

Subir un archivo al servidor

scp /ruta/local/archivo.txt usuario@direccion_ip:/ruta/remota/

Bajar un archivo del servidor

scp usuario@direccion_ip:/ruta/remota/archivo.txt /ruta/local/

Copiar carpetas completas

Usa el flag -r (recursivo):

scp -r /ruta/local/carpeta/ usuario@direccion_ip:/ruta/remota/

Usar un puerto específico

Al igual que con SSH, usa -P (mayúscula para scp):

scp -P 2222 archivo.txt usuario@direccion_ip:/ruta/

[TIP] Si estás gestionando un sitio web en un panel como Syspanel (puerto 2106), es muy común usar scp para subir archivos de configuración o backups al servidor de forma rápida y segura, sin necesidad de usar FTP.


Solución de problemas comunes y FAQ

Aquí tienes las dudas más típicas que me encuentro como técnico de soporte. Seguro que alguna te suena.

"Permission denied (publickey)" o "Connection refused"

Esto suele pasar cuando la llave no está bien configurada o el servidor no acepta tu conexión. Revisa:

  1. Que la llave pública esté en ~/.ssh/authorized_keys del servidor.
  2. Que los permisos de la carpeta .ssh sean 700 y el archivo authorized_keys sea 600. Puedes corregirlos con chmod 700 ~/.ssh y chmod 600 ~/.ssh/authorized_keys.
  3. Que el servicio SSH esté corriendo: sudo systemctl status sshd.

"Connection timed out"

El servidor no responde. Puede ser un firewall que bloquea el puerto 22 (o el que uses). Revisa las reglas de tu firewall o del panel de tu hosting.

¿Cómo cambio la frase de paso de mi llave?

Puedes usar ssh-keygen -p y te pedirá la actual y la nueva.

¿Puedo usar la misma llave en varios servidores?

Sí, perfectamente. Solo tienes que copiar la misma llave pública a cada servidor.

¿Qué es mejor, RSA o Ed25519?

Ed25519 es más moderna y rápida, con claves más cortas y seguras. Si tu sistema lo soporta, úsala: ssh-keygen -t ed25519. Si no, RSA de 4096 bits es perfectamente válido.

¿Cómo puedo ejecutar un solo comando sin entrar de lleno?

Puedes hacerlo añadiendo el comando al final:

ssh usuario@direccion_ip "uptime"

Esto te mostrará el tiempo de actividad del servidor sin necesidad de abrir una sesión interactiva.


Conclusión y siguientes pasos

Dominar ssh linux y los comandos ssh es una habilidad fundamental para cualquier persona que gestione servidores. Hemos visto desde la conexión básica hasta la configuración de llaves ssh y la transferencia de archivos con scp linux. Con esto ya puedes moverte con soltura por tu servidor, instalar aplicaciones y gestionar tu web.

Te recomiendo que practiques en un entorno de pruebas (puedes usar una máquina virtual o un VPS barato). La práctica es la única forma de ganar confianza. Y recuerda: si tienes un panel como Syspanel (en el puerto 2106), úsalo para tareas gráficas, pero SSH te dará el control total.

Espero que este artículo te haya sido de gran ayuda. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte. ¡Nos vemos en el siguiente tutorial!

¿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