Corriger l’erreur : Could not open a connection to your authentication agent

Close-Up Shot of Keyboard Buttons
Partager

Introduction

Cette erreur se produit lorsque votre système ne parvient pas à communiquer avec l’agent d’authentification SSH, qui est responsable de la gestion de vos clés SSH. Cela peut se produire pour plusieurs raisons, comme par exemple :

  • L’agent SSH n’a pas été démarré correctement ou n’est pas en cours d’exécution.
  • Les variables d’environnement nécessaires pour que votre session puisse interagir avec l’agent n’ont pas été correctement définies.
  • Il y a un problème avec les autorisations ou les droits d’accès liés à l’agent d’authentification.

Initialiser l’agent SSH

Cette commande a pour but d’initialiser l’agent SSH (ssh-agent) et de configurer l’environnement de votre session actuelle pour qu’il puisse utiliser cet agent.

Voici ce qui se passe étape par étape :

  1. ssh-agent -s : Cette partie de la commande lance le processus ssh-agent en mode shell. ssh-agent est un démon qui gère les clés SSH pour vous, ce qui vous évite d’avoir à saisir votre mot de passe à chaque fois que vous vous connectez à un serveur distant.
  2. eval : Cette partie de la commande exécute la sortie de ssh-agent -s et configure les variables d’environnement nécessaires pour que votre session puisse interagir avec l’agent SSH.

Après avoir exécuté cette commande, vous pourrez utiliser vos clés SSH sans avoir à saisir votre mot de passe à chaque fois. L’agent SSH se chargera de l’authentification à votre place.

bash :

$ eval `ssh-agent -s`

tcsh :

$ eval `ssh-agent -c`

Ensuite, utilisez ssh-add comme vous le feriez normalement.

Astuce

J’oubliais toujours quoi taper pour les commandes ssh-agent ci-dessus, alors j’ai créé un alias dans mon fichier .bashrc comme ceci :

alias ssh-agent-add='eval `ssh-agent -s`'

Maintenant, au lieu d’utiliser ssh-agent, je peux utiliser ssh-agent-add

Par exemple :

$ ssh-agent-add
SSH_AUTH_SOCK=/tmp/ssh-n16KsxjuTMiM/agent.32394; export SSH_AUTH_SOCK;
SSH_AGENT_PID=32395; export SSH_AGENT_PID;
echo Agent pid 32395;
$ ssh-add ~/.ssh/my_pk
$ ssh-agent-add
SSH_AUTH_SOCK=/tmp/ssh-n16KsxjuTMiM/agent.32394; export SSH_AUTH_SOCK;
SSH_AGENT_PID=32395; export SSH_AGENT_PID;
echo Agent pid 32395;
$ ssh-add ~/.ssh/my_pk