J'ai essayé de ssh-add
travailler sur un RaspberryPi sous Raspbian.
Je peux commencer ssh-agent
, quand je le fais 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 cours ps aux | grep ssh
je peux voir qu'il est en cours d'exécution.
Ensuite, j'essaie de courir ssh-add
pour 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?
command-line
ssh
ssh-agent
Daniel Groves
la source
la source
eval $(ssh-agent)
Réponses:
Votre shell est censé évaluer cette sortie de code shell
ssh-agent
. Exécutez ceci à la place:Ou, si vous avez déjà démarré ssh-agent, copiez-le et collez-le dans votre invite de shell (en supposant que vous exécutiez un shell de type Bourne).
ssh
les commandes doivent savoir comment parler àssh-agent
, elles le savent grâce à laSSH_AUTH_SOCK
variable d'environnement.la source
ssh-agent bash
produit), mais il ne peut pas mettre à jour la mémoire d'un processus séparé exécutant une commande étrangère (votre shell en cours d'exécution).Essaye celui-là:
la source
ssh-agent /usr/bin/fish
./usr/local/bin/fish
(alternativement/usr/ports/shells/fish
). Merci à lawhereis
commande de m'aider à comprendre cela.Cette question a également été très bien traitée sur Stackoverflow .
la source
`...`
. Sans eux, l'opérateur split + glob est appelé sur la sortie.Si vous utilisez csh comme shell ( FreeBSD PI ), cela pourrait fonctionner:
Ensuite, il vous suffit de faire quelque chose comme:
la source
Vous pouvez également utiliser la syntaxe suivante:
la source
ssh-agent sh -c "ssh-add -l"
cela vous dira que vous n'avez aucune identité.ssh-agent sh -c "ssh-add && ssh-add -l"
imprimera votre identité.Essayez ceci: allez à
C:\$Installation_Folder$\Git\cmd
et exécutez:Il ouvrira une commande cmd et exécutera
ssh-agent
le bon chemin.ssh-add ~/.ssh/id_rsa
devrait alors travailler.la source
Cela prêtait à confusion et a 2 bonnes réponses possibles, selon que l’utilisateur tente d’ajouter une clé ssh sous Linux ou Windows (tel que je suis). Cela ne répond probablement pas au PO, mais constitue une extension pour git-bash. J'utilise Windows et Ubuntu pour le développement et mon installation de git est légèrement différente dans chacun.
.. était une bonne réponse de Windows, mais n’a pas pu spécifier que vous deviez passer par l’explorateur Windows pour rechercher le dossier d’installation de Git et exécuter le shell Windows qui s’ouvrirait à la fin de l’étape 1.
"aller à C: \ $ Installation_Folder $ \ Git \ cmd "
Étape 2: il vous suffit de double-cliquer
À l'étape 3, vous retournez à git-bash ou à l'émulateur de terminal * nix que vous utilisez 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.
la source
Si vous souhaitez utiliser une identité avec sudo, vous pouvez par exemple
sudo npm install
:Long chemin , mais vous donne également un accès root afin que vous n’ayez pas besoin d’utiliser
sudo
beaucoup.sudo ssh-agent bash
Ceci vous demandera votre mot de passe et ensuite fonctionnera
ssh-agent
avec les privilèges du superutilisateur,cd /home/user/.ssh
De là, vous pouvez courir
Court chemin , seulement votre utilisateur (sauf si vous voulez beaucoup de sudo)
la source
export
eteval
fonctionne aussi bien que le shell de connexion fourni par root est comme Bourne. Si la coque de la racine est csh ou tcsh, utilisezeval `ssh-agent -c`
root
accès à votre agent ssh en faisantsudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" npm install...
eval "$(ssh-agent)"
à l'invite d'un shell bash fonctionnant en tant que root fonctionnera. Vous devrez évidemment exécuter àssh
partir de ce shell ou de son descendant pour qu'ils héritent de la variable d'environnement SSH_AUTH_SOCK.eval "$(sudo ssh-agent)"; sudo ssh...
ne fonctionnera pas car,sudo
par défaut, ne passe pas la variable d'environnement SSH_AUTH_SOCK.eval "$(ssh-agent)"
regarder plus tard pour voir s'il y avait une sorte d'erreur de configuration. Bien que la manière actuelle que j'ai donnée à ce guide permette de contrôler librement l'utilisateur que vous souhaitez être depuis votre compte déjà root et que vous pouvez accéder à tous les utilisateurs id_rsa présents sur le serveur. Donc, une fois que je le fais fonctionner correctement modifier ma réponse.