web-dev-qa-db-fra.com

ssh-add se plaint: impossible d'ouvrir une connexion avec votre agent d'authentification

J'ai essayé d'obtenir ssh-add travailler sur un RaspberryPi exécutant Raspbian.

Je peux commencer ssh-agent, quand je le fais, il donne la sortie suivante dans le terminal:

SSH_AUTH_SOCK=/tmp/ssh-06TcpPflMg58/agent.2806; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2807; export SSH_AGENT_PID;
echo Agent pid 2807;

Si je lance ps aux | grep ssh Je peux voir qu'il fonctionne.

Ensuite, j'essaie d'exécuter ssh-add afin d'ajouter ma phrase secrète de clé, et j'obtiens ce qui suit:

Could not open a connection to your authentication agent.

Des idées?

161
Daniel Groves

Votre Shell est destiné à évaluer la sortie de ce code Shell par ssh-agent. Exécutez ceci à la place:

eval "$(ssh-agent)"

Ou si vous avez déjà démarré ssh-agent, copiez-collez-le dans votre invite de shell (en supposant que vous exécutez un shell de type Bourne).

ssh les commandes doivent savoir comment parler à ssh-agent, ils savent que du SSH_AUTH_SOCK variable d'environnement.

244
Stéphane Chazelas

Essaye celui-là:

$ ssh-agent /bin/sh
$ ssh-add $yourkey
30
user48656

Cette question a également été très bien traitée sur Stackoverflow .

eval `ssh-agent -s`

ssh-add
13
xaa

Si vous utilisez csh comme shell ( FreeBSD PI ) cela pourrait fonctionner:

eval `ssh-agent -c`

ensuite, il vous suffit de faire quelque chose comme:

ssh-add ~/.ssh/id_rsa
6
nbari

Essayez ceci: allez à C:\$Installation_Folder$\Git\cmd et exécutez:

start-ssh-agent 

Il ouvrira une commande cmd et exécutera le ssh-agent le droit chemin.

ssh-add ~/.ssh/id_rsa devrait alors fonctionner.

2
sab125

C'était déroutant et a 2 bonnes réponses possibles, selon que l'utilisateur tente d'ajouter une clé ssh sur Linux ou Windows (comme je le suis). Cela ne répond probablement pas à l'OP, mais c'est une extension pour git-bash. J'exécute Windows et Ubuntu pour le développement, et mon installation git est légèrement différente dans chacun.

Essayez ceci: allez dans C:\$ Installation_Folder $\Git\cmd et exécutez:

start-ssh-agent Il ouvrira une commande cmd et exécutera ssh-agent de la bonne façon.

.. était une bonne réponse Windows, mais n'a pas pu spécifier que vous deviez passer par l'Explorateur Windows pour trouver le dossier d'installation de Git et exécuter le shell Windows qui s'ouvrirait à la fin de l'étape 1.
"allez dans C:\$ Installation_Folder $\Git\cmd"

Étape 2: il vous suffit de double-cliquer

start-ssh-agent

À l'étape 3, vous revenez à git-bash ou à l'émulateur de terminal * nix que vous exécutez et exécutez ssh-add. Si vous avez utilisé le nom par défaut pour la clé publique ssh, vous n'avez pas besoin d'ajouter le nom car ssh-add l'utilise automatiquement.

2
Wolf Halton

Vous pouvez également utiliser la syntaxe suivante:

ssh-agent sh -c 'ssh-add && echo Do some stuff here.'
2
kenorb

Il y a plusieurs façons si vous souhaitez utiliser une identité avec Sudo, par ex. Sudo npm install.

Long chemin, mais vous donne également un accès root afin que vous n'ayez pas besoin d'utiliser beaucoup de Sudo.

  1. Courir
    Sudo ssh-agent bash
    Cela vous demandera votre mot de passe et après s'exécutera ssh-agent avec les privilèges du superutilisateur,
  2. Accédez au dossier .ssh de vos utilisateurs
    cd /home/user/.ssh
  3. De là, vous pouvez courir

    ssh-add id_rsa
    npm install git+ssh://git@YOUR-PROJECT-URL -g && npm link PROJECT-NAME
    

Short way, seulement votre utilisateur (sauf si vous voulez beaucoup Sudo)

eval "$(ssh-agent)"
ssh-add
Sudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" npm install git+ssh://git@PROJECT-URL -g && Sudo npm link PROJECT-NAME
1
Belldandu