Guías
Terminal Actualizado el 6 de noviembre de 2026

SSH y SCP

Claves ed25519, alias en ~/.ssh/config, agente, túneles, saltos por bastión, copia de archivos con scp y rsync, y depuración.

  • #ssh
  • #scp
  • #rsync
  • #tuneles
  • #seguridad

Claves

AcciónComando
Generar una clave ed25519 (pide passphrase)
Generar una clave con nombre propio
Ver la clave pública para copiarla
Ver la huella (fingerprint) de una clave
Cambiar la passphrase de una clave

Copiar la clave y conectar

AcciónComando
Instalar tu clave pública en el servidor
Instalar una clave concreta
Conectar
Conectar a otro puerto
Conectar con una clave concreta
Ejecutar un comando remoto y volver
Ejecutar un programa interactivo remoto

Alias en ~/.ssh/config

Con este archivo basta con escribir ssh prod en lugar de usuario, host, puerto y clave.

bash
Host prod
    HostName 203.0.113.10
    User deploy
    Port 2222
    IdentityFile ~/.ssh/id_ed25519_work
    IdentitiesOnly yes

Host *
    AddKeysToAgent yes
    ServerAliveInterval 60
AcciónComando
Conectar usando el alias
Ver la configuración efectiva de un alias

Agente SSH

El agente guarda tus claves desbloqueadas para no escribir la passphrase en cada conexión.

AcciónComando
Iniciar el agente en la sesión actual
Añadir una clave al agente
Añadir una clave que caduca en 1 hora
Listar las claves cargadas
Quitar todas las claves del agente

Túneles

AcciónComando
Abrir en localhost:8080 un puerto web del servidor
Llegar a una base de datos interna a través del servidor
Exponer tu puerto local 3000 en el servidor
Proxy SOCKS en localhost:1080
Túnel en segundo plano
FlagSignificado
-L local:destino:puertoReenvío local: tu puerto lleva al destino visto desde el servidor
-R remoto:destino:puertoReenvío remoto: un puerto del servidor lleva a tu equipo
-D puertoProxy SOCKS dinámico
-NNo abre shell, solo mantiene el túnel
-fPasa a segundo plano tras autenticar

Saltos por bastión

AcciónComando
Conectar a un host interno pasando por un bastión
Encadenar varios saltos

O déjalo fijo en ~/.ssh/config:

bash
Host bastion
    HostName bastion.example.com
    User ec2-user

Host app-internal
    HostName 10.0.1.20
    User deploy
    ProxyJump bastion

Copiar archivos (scp y rsync)

AcciónComando
Subir un archivo
Descargar un archivo
Copiar una carpeta completa
Usar otro puerto (ojo: -P mayúscula)
Sincronizar con compresión y progreso
Simular sin copiar nada
Espejo exacto (borra en destino lo que sobra)
rsync por un puerto distinto

En rsync, dist/ copia el contenido de la carpeta y dist copia la carpeta misma.

Permisos correctos de ~/.ssh

SSH ignora claves y archivos con permisos demasiado abiertos.

AcciónComando
Carpeta solo para ti
Clave privada
Clave pública
Configuración y claves autorizadas

known_hosts

AcciónComando
Borrar la huella vieja de un host reinstalado
Buscar si un host ya está registrado
Registrar la clave del host antes de conectar
Aceptar hosts nuevos pero rechazar cambios

Si aparece REMOTE HOST IDENTIFICATION HAS CHANGED, confirma con el administrador antes de borrar la huella: puede ser un ataque.

Depuración

AcciónComando
Ver qué claves y pasos intenta SSH
Máximo detalle
Probar tu clave con GitHub
Validar la configuración del servidor (en el servidor)
Ver los logs del servidor SSH (Debian y Ubuntu)
Ver los logs del servidor SSH (Fedora y RHEL)