15%

Save 15% on All Hosting Services

Test your skills and get Discount on any hosting plan

Usa el código:

Skills
Comenzar
28.01.2026

¿Dónde se almacenan las claves SSH en Linux y cómo gestionarlas de forma segura?

SSH (Secure Shell) es una herramienta fundamental en el ecosistema de Linux, utilizada para acceso remoto, transferencias de archivos seguras, automatización y gestión de servidores. Mientras que la mayoría de los usuarios interactúan con SSH a través del comando ssh, en el fondo SSH se basa en pares de claves públicas y privadas para la autenticación, especialmente en entornos donde los inicios de sesión sin contraseña, la automatización y las prácticas de DevOps son esenciales.

Ubicación predeterminada de almacenamiento de claves SSH

El lugar más común donde se almacenan las claves SSH es:

~/.ssh/

Esto se refiere al directorio .ssh en la carpeta de inicio del usuario, por ejemplo:

/home/username/.ssh/

Archivos comunes en este directorio:

ArchivoPropósito
id_rsaClave privada predeterminada (RSA)
id_rsa.pubClave pública correspondiente
id_ecdsa, id_ed25519Otras claves privadas (ECDSA, Ed25519)
id_*.pubClaves públicas correspondientes
authorized_keysAlmacena claves públicas permitidas para conectarse
known_hostsAlmacena huellas digitales de servidores (verificación de clave de host)
configConfiguración del cliente SSH específica del usuario

Si generas claves con ssh-keygen, se almacenan aquí por defecto a menos que se especifique una ruta.

Ubicaciones de claves SSH a nivel del sistema

Claves de host del servidor SSH (sshd)

Claves a nivel del sistema utilizadas por el demonio SSH (lado del servidor):

/etc/ssh/

Archivos típicos:

ArchivoPropósito
ssh_host_rsa_keyClave privada de host (RSA)
ssh_host_rsa_key.pubClave pública de host
ssh_host_ecdsa_keyClave privada de host ECDSA
ssh_host_ed25519_keyClave privada de host Ed25519

Estas claves se utilizan para identificar el servidor ante los clientes, no para autenticar usuarios.

El demonio SSH (sshd) presenta la clave pública de host durante la conexión; los clientes la comparan con ~/.ssh/known_hosts.

Ubicaciones de claves personalizadas

Puedes generar o usar claves SSH desde cualquier ubicación, pero debes especificar la ruta:

ssh -i /path/to/custom_key user@host

También puedes configurar múltiples claves a través de ~/.ssh/config:

Host myserver
HostName 192.168.1.100
User devops
IdentityFile ~/.ssh/devops_key

¿Dónde se utilizan las claves?

Saliente (lado del cliente)

Los clientes SSH buscan claves privadas en ~/.ssh/ por defecto. Se utilizan para iniciar la autenticación al conectarse a un servidor remoto.

  • ssh, scp, rsync sobre SSH, git (cuando se usa remoto SSH)

📌 Entrante (lado del servidor)

El servidor busca claves públicas en:

~/.ssh/authorized_keys

Este archivo lista qué claves públicas están permitidas para iniciar sesión en esa cuenta de usuario específica.

Si user_a intenta SSH en un servidor como user_b, su clave pública debe estar presente en ~user_b/.ssh/authorized_keys.

Permisos — Críticos para la seguridad

Permisos correctos:

~/.ssh → 700 (drwx------)
~/.ssh/authorized_keys → 600 (-rw-------)
~/.ssh/id_rsa → 600 (-rw-------)
~/.ssh/id_rsa.pub → 644 (-rw-r--r--)

Los permisos incorrectos pueden hacer que SSH ignore tus claves o rechace inicios de sesión por completo.

Gestionando claves SSH de forma segura

  • Usa una frase de contraseña al generar claves privadas:

    ssh-keygen -t ed25519 -C "your_email@example.com"
  • Usa ssh-agent para almacenar en caché claves desbloqueadas en memoria:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
  • Rota las claves regularmente
  • Elimina claves no utilizadas o huérfanas de “authorized_keys”
  • Usa claves separadas por host/proyecto
  • Evita usar claves de root en diferentes entornos

Auditoría y depuración

Para ver qué clave se está utilizando durante la conexión SSH:

ssh -v user@host

Esto imprime registros detallados, incluyendo qué archivo de identidad se intentó.

Para listar las claves cargadas en tu agente actual:

ssh-add -l

Para eliminar una clave:

ssh-add -d ~/.ssh/mykey

Conclusión

Entender dónde se almacenan las claves SSH en Linux — y cómo gestionarlas de forma segura — es crucial para administradores de sistemas, desarrolladores, ingenieros de DevOps y cualquier persona que trabaje en entornos de múltiples hosts o múltiples usuarios.

Al conocer la diferencia entre claves de usuario, claves de host y claves autorizadas, puedes:

  • Resolver problemas de autenticación
  • Configurar flujos de trabajo automatizados seguros
  • Gestionar el acceso entre equipos y sistemas

En sistemas de producción o plataformas en la nube (por ejemplo, VPS o servidores dedicados), una mala gestión de las claves SSH puede llevar a vulnerabilidades graves. Asegúrate de seguir las mejores prácticas y auditar el acceso regularmente.

15%

Save 15% on All Hosting Services

Test your skills and get Discount on any hosting plan

Usa el código:

Skills
Comenzar