Où sont stockées les clés privées du client ssh?

12

Sur le client, après avoir fait ssh-add pour ajouter ma clé privée, tout fonctionne bien, ssh-add -lrépertorie la clé et je peux me connecter aux hôtes qui ont la clé publique correspondante, mais rien ne change dans le répertoire .ssh comme il était censé le faire. puis-je trouver le répertoire dans lequel sont stockées les clés privées ajoutées par ssh-add?

myhau
la source

Réponses:

18

ssh-addne stocke rien localement ou à distance sur le disque. Cette commande charge votre clé privée, en demandant une fois son mot de passe, dans l'agent SSH qui a été précédemment démarré.

L'agent SSH conserve les clés privées en mémoire uniquement. Lorsque vous lancez le client SSH, il utilise la clé privée de l'agent SSH, sans demander à nouveau le mot de passe de la clé privée, pour s'authentifier auprès du serveur cible.

Le .sshrépertoire contient (dans le répertoire personnel de tout utilisateur):

  • authorized_keys : liste des clés publiques autorisées à se connecter à ce serveur
  • config : fichier optionnel avec paramètres de configuration pour le client SSH
  • les clés publiques et privées que vous avez générées sur cet hôte pour cet utilisateur.
  • known_hosts : conserve une liste des hôtes auxquels vous vous êtes déjà connecté avec un hachage pour détecter si la clé d'hôte a changé depuis la dernière fois.
Benoit
la source
2

ssh-addn'est pas censé changer quoi que ce soit ~/.ssh. Il indique au ssh-agentprogramme les identités à ajouter et le ssh-agentprogramme les stocke en mémoire après avoir demandé des mots de passe. Il n'y a donc pas un tel répertoire.

muru
la source
1
~/.ssh/id_rsa

Cet article vous montre comment générer la clé du chemin ci-dessus. Ce n'est pas mon article :)

kalajeng
la source