SSH Seguridad Linux

Autenticación SSH con claves: más seguro que contraseñas

Configurá el acceso SSH con par de claves pública/privada en Linux. Sin contraseñas, sin ataques de fuerza bruta. Guía paso a paso para Windows, Mac y Linux.

9 de abril de 2026 8 min de lectura Host Crafter

¿Por qué usar claves SSH en lugar de contraseñas?

Las contraseñas tienen un problema fundamental: pueden adivinarse. Los bots de internet prueban millones de combinaciones por segundo. Una contraseña de 8 caracteres puede romperse en horas.

Una clave SSH de tipo ED25519 o RSA-4096 es matemáticamente imposible de adivinar con la tecnología actual. Además:

  • No tenés que recordar contraseñas complejas
  • Podés tener diferentes claves para diferentes servidores
  • Podés revocar el acceso de una clave sin afectar a las demás
  • Podés usarlas con passphrase para doble capa de seguridad

Cómo funciona el par de claves

El sistema usa criptografía asimétrica:

  • Clave privada: se queda en tu computadora, nunca sale de ahí
  • Clave pública: se copia al servidor, puede compartirse libremente

Cuando intentás conectarte, el servidor desafía a tu computadora con un mensaje cifrado con la clave pública. Solo quien tenga la clave privada correspondiente puede responder correctamente.

Generar el par de claves

En Linux y macOS

ssh-keygen -t ed25519 -C "descripcion-de-esta-clave"

El algoritmo ED25519 es el recomendado actualmente — más seguro y con claves más cortas que RSA.

Te va a preguntar:

  1. Dónde guardar: presioná Enter para usar ~/.ssh/id_ed25519
  2. Passphrase (opcional): una contraseña adicional para proteger la clave privada

En Windows (PowerShell / CMD)

ssh-keygen -t ed25519 -C "mi-clave-trabajo"

La clave se guarda en C:\Users\TuUsuario\.ssh\id_ed25519.

Ver la clave pública generada

cat ~/.ssh/id_ed25519.pub

Salida típica:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... descripcion-de-esta-clave

Este es el valor que copiás al servidor.

Copiar la clave pública al servidor

Método 1: ssh-copy-id (más fácil)

ssh-copy-id -i ~/.ssh/id_ed25519.pub usuario@IP_DEL_SERVIDOR

Ingresá la contraseña del servidor una última vez. Después ya no la necesitás más.

Método 2: Manual

# Conectarte al servidor con contraseña
ssh usuario@IP_DEL_SERVIDOR

# Crear el directorio .ssh si no existe
mkdir -p ~/.ssh
chmod 700 ~/.ssh

# Crear o editar el archivo de claves autorizadas
nano ~/.ssh/authorized_keys
# Pegá la clave pública

# Permisos correctos (importante)
chmod 600 ~/.ssh/authorized_keys

Probar la conexión con clave

Sin cerrar la sesión actual, abrí otra terminal y probá:

ssh -i ~/.ssh/id_ed25519 usuario@IP_DEL_SERVIDOR

Si entrás sin que te pida contraseña, la clave está funcionando.

Deshabilitar el login por contraseña

Una vez que la clave funciona, editá /etc/ssh/sshd_config:

PasswordAuthentication no
ChallengeResponseAuthentication no

Recargá SSH:

sudo systemctl reload sshd

⚠️ Verificá que podés entrar con clave antes de hacer esto, o quedarás sin acceso.

Gestionar múltiples servidores con el archivo config

Creá ~/.ssh/config:

Host vps-produccion
    HostName 203.0.113.10
    User ubuntu
    IdentityFile ~/.ssh/id_ed25519_produccion
    Port 22

Host vps-staging
    HostName 203.0.113.20
    User ubuntu
    IdentityFile ~/.ssh/id_ed25519_staging
    Port 2222

Con esto podés conectarte simplemente con:

ssh vps-produccion
ssh vps-staging

Usar ssh-agent para no escribir la passphrase cada vez

Si tu clave tiene passphrase, usá ssh-agent:

# Iniciar el agente
eval "$(ssh-agent -s)"

# Agregar la clave (solo pide la passphrase una vez)
ssh-add ~/.ssh/id_ed25519

Revocar acceso de una clave

Simplemente eliminá esa línea del archivo ~/.ssh/authorized_keys en el servidor. El cambio es inmediato.

Buenas prácticas

  • Una clave por dispositivo: no copies tu clave privada a otros equipos
  • Passphrase en claves de producción: es la última línea de defensa
  • Backup de la clave privada: guardala en un lugar seguro (password manager)
  • Rotación periódica: en entornos de alta seguridad, rotá las claves cada 6-12 meses

Con claves SSH configuradas, el siguiente paso es asegurar el resto del servidor con un checklist completo de hardening.

¿Listo para ponerlo en práctica?

Crear VPS seguro en Argentina