Could not open a connection to your authentication agent : comment résoudre cette erreur en SSH ?

Le message d'erreur apparaît lorsque vous essayez d'ajouter des clés pour vous connecter en SSH sur un autre serveur. Voici comment l'éviter.

Le message d'erreur Could not open a connection to your authentication agent. apparaît lorsque vous essayez d'ajouter des clés pour vous connecter en SSH sur un autre serveur. Il peut s'afficher notamment lorsque vous utilisez git et que vous essayez de commiter des modifications. Il existe différentes causes et autant de solutions pour résoudre ce problème.

La première raison de ce message est le processus ssh-agent. Ce processus intercepte la clé publique lorsque le programme ssh-add reçoit des clés à ajouter. Il faut donc que ce processus soit lancé avant d'utiliser la commande ssh-add. La commande varie selon le système d'exploitation et le logiciel utilisés :

# Si vous utilisez Windows, ces 2 commandes peuvent démarrer ssh-agent
eval $(ssh-agent)
# ou
eval `ssh-agent -s`
# Pour Linux, les 2 commandes peuvent être utilisées
exec ssh-agent bash
# ou
eval `ssh-agent`

La deuxième raison est le fichier utilisé pour les clés. Lorsque la commande ssh-add est exécutée sans argument, le fichier utilisé pour lire la clé est le fichier ~/.ssh/id_rsa.pub (~ correspond à l'emplacement de votre dossier utilisateur, que ce soit sous Windows ou Linux). Assurez-vous que ce soit bien une clé privée qui est utilisée (vous pouvez le vérifier en utilisant un éditeur de texte). Si jamais votre clé est située dans un autre fichier, alors il faut l'indiquer en argument de la commande ssh-add :

# exemple d'ajout de clé à partir d'un autre fichier
ssh-add dossier/cle.pub

Si vous utilisez les outils Msysgit ou Cygwin, il faudra créer un fichier config situé dans le répertoire .ssh. Dans ce fichier, ajoutez la ligne suivante :

# Respectez bien la typographie.
ForwardAgent yes

Lorsque vous redémarrerez le logiciel, il vous demandera votre passphrase, et vous serez connecté(e) au serveur pendant la durée de la session.

Divers