SSHClavesAutenticación4 min de lectura

Configurar autenticación por claves SSH

Generar claves ed25519, copiarlas al servidor, deshabilitar contraseñas y gestionar múltiples claves.


¿Por qué usar claves SSH?

Las claves SSH son más seguras que las contraseñas:

  • Imposibles de adivinar por fuerza bruta
  • No se transmiten por la red
  • Permiten acceso sin escribir contraseña
  • Se pueden revocar individualmente

Paso 1: Generar claves ed25519

bash
ssh-keygen -t ed25519 -C "tu-email@ejemplo.com"

Presioná Enter para la ruta por defecto. Ingresá una passphrase segura.

Archivos generados:

  • ~/.ssh/id_ed25519 → clave privada (nunca compartir)
  • ~/.ssh/id_ed25519.pub → clave pública (va al servidor)

Paso 2: Copiar al servidor

bash
ssh-copy-id -i ~/.ssh/id_ed25519.pub usuario@tu-servidor

Método manual:

bash
# En el servidor
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo 'TU_CLAVE_PUBLICA' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Paso 3: Deshabilitar contraseñas

Editá /etc/ssh/sshd_config:

terminal
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
bash
sudo systemctl restart sshd

SSH Agent

bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Múltiples claves

Creá ~/.ssh/config:

terminal
Host produccion
  HostName 203.0.113.10
  User deploy
  IdentityFile ~/.ssh/id_ed25519_prod
  Port 2222

Host staging
  HostName 203.0.113.20
  User deploy
  IdentityFile ~/.ssh/id_ed25519_staging

Conectá con: ssh produccion

Rotación de claves

Cada 6-12 meses:

  1. Generá un nuevo par de claves
  2. Agregá la nueva al servidor
  3. Verificá que funciona
  4. Eliminá la vieja del authorized_keys
  5. Borrá los archivos locales de la clave vieja

Recomendaciones

  • Siempre usá ed25519 (más seguro y rápido que RSA)
  • Protegé la clave privada con passphrase
  • Nunca subas la clave privada a repositorios
  • Usá claves diferentes para servicios diferentes
  • Revisá periódicamente authorized_keys

¿Te resultó útil esta guía?