web-dev-qa-db-fra.com

ssh-add renvoie avec: "Erreur de connexion à l'agent: aucun fichier ou répertoire de ce type"

ssh-add seul ne fonctionne pas:

Error connecting to agent: No such file or directory

Comment dois-je utiliser cet outil?

37
Wong Jia Hau

Vous devez d'abord initialiser l'agent.

Vous pouvez le faire de plusieurs manières. Soit en démarrant un nouveau Shell

ssh-agent bash

ou en évaluant les variables renvoyées par ssh-agent dans votre shell actuel.

eval "$(ssh-agent)"

Je suggère d'utiliser la deuxième méthode, car vous conservez tout votre historique et vos variables.

37
Panki

L'agent SSH n'est pas en cours d'exécution ou les variables d'environnement qu'il définit ne sont pas disponibles dans l'environnement actuel (surtout SSH_AUTH_SOCK), ou ils ne sont pas définis correctement (pointant vers un agent mort).

Vous pouvez démarrer l'agent dans la session Shell en cours à l'aide de

eval "$(ssh-agent)"

ou démarrer une nouvelle session Shell via l'agent à l'aide de

ssh-agent fish

(remplacez fish par le Shell que vous utilisez). Mais puisque vous dites que vous l'habitude de pouvoir utiliser ssh-add sans cela, cela me porte à croire que vous avez accidentellement tué l'agent (ou qu'il s'est terminé pour une autre raison). Le message d'erreur me fait penser que le SSH_AUTH_SOCK la variable d'environnement est réellement définie, mais cette ssh-add ne trouve pas de socket de communication valide sur ce chemin.

Cela ne me surprendrait pas si votre façon habituelle de faire les choses fonctionnerait à nouveau si vous vous déconnectiez complètement et vous reconnectiez, ou si vous redémarriez la machine.

24
Kusalananda

Dans Windows Power Shell:

  1. Vérifiez l'état actuel de ssh-agent: "Get-Service | select -property name, starttype"
  2. Définissez le nouveau type: "Set-Service -Name ssh-agent -StartupType Manual"
  3. Démarrez-le: "Start-Service ssh-agent"
  4. Ajoutez votre clé comme précédemment: "ssh-add"
5
Chris