Snažil jsem se dostat ssh-add
pracuje na RaspberryPi s Raspbian.
Můžu začít ssh-agent
, když to udělám, dává následující výstup do terminálu:
SSH_AUTH_SOCK=/tmp/ssh-06TcpPflMg58/agent.2806; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2807; export SSH_AGENT_PID;
echo Agent pid 2807;
Pokud spustím ps aux | grep ssh
Vidím, že běží.
Pak se pokusím spustit ssh-add
za účelem přidání mého klíčového hesla, a dostanu následující:
Could not open a connection to your authentication agent.
Nějaké nápady?
Vaše Shell má vyhodnotit, že výstup Shell kódu je ssh-agent
. Místo toho spusťte:
eval "$(ssh-agent)"
Nebo pokud jste již začali ssh-agent, zkopírujte jej do svého Shell Prompt (za předpokladu, že provozujete Bourne-like Shell).
Příkazy ssh
musí vědět, jak mluvit s ssh-agent
vědí, že z SSH_AUTH_SOCK
proměnná prostředí.
Zkus tohle:
$ ssh-agent /bin/sh
$ ssh-add $yourkey
Tato otázka byla velmi dobře pokryta také Stackoverflow .
eval `ssh-agent -s`
ssh-add
Pokud použijete csh jako Shell ( FreeBSD PI ), mohlo by to fungovat:
eval `ssh-agent -c`
dále stačí udělat něco jako:
ssh-add ~/.ssh/id_rsa
Vyzkoušejte toto: přejděte na C:\$Installation_Folder$\Git\cmd
a spusťte:
start-ssh-agent
Otevře příkaz cmd a spustí ssh-agent
správná cesta.
ssh-add ~/.ssh/id_rsa
by pak mělo fungovat.
To bylo matoucí a mělo to 2 možné dobré odpovědi v závislosti na tom, zda se uživatel pokouší přidat ssh klíč v systému Linux nebo Windows (jako já). To pravděpodobně neodpovídá na OP, ale jde o rozšíření o git-bash. Provozuji Windows i Ubuntu pro vývoj a moje instalace git se v každém z nich trochu liší.
Zkuste to: přejděte na C:\$ Installation_Folder $\Git\cmd a proveďte:
start-ssh-agent Otevře příkaz cmd a spustí ssh-agent správným způsobem.
.. byla dobrá odpověď systému Windows, ale nepodařilo se vám určit, že jste měli procházet Průzkumníkem Windows a najít instalační složku Git, a spuštění okna Windows Shell by se otevřelo po dokončení kroku 1.
"Přejít na C:\$ Installation_Folder $\Git\cmd"
Krok 2: stačí jen dvakrát kliknout
start-ssh-agent
V kroku 3 přejdete zpět k git-bash nebo k libovolnému emulátoru terminálu * nix, který používáte, a spusťte ssh-add. Pokud jste pro veřejný klíč ssh použili výchozí název, nemusíte jej přidávat, protože ssh-add používá automaticky.
Můžete také použít následující syntaxi:
ssh-agent sh -c 'ssh-add && echo Do some stuff here.'
Existuje několik způsobů, jak si přejete použít totožnost se Sudem, např. Sudo npm install
.
Dlouhá cesta, ale také vám dává přístup rootovi, takže nebudete muset hodně používat Sudo
.
Sudo ssh-agent bash
ssh-agent
s oprávněními superuživatele,cd /home/user/.ssh
Odtud můžete běžet
ssh-add id_rsa
npm install git+ssh://[email protected] -g && npm link PROJECT-NAME
Krátká cesta, pouze váš uživatel (pokud nechcete hodně Sudo)
eval "$(ssh-agent)"
ssh-add
Sudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" npm install git+ssh://[email protected] -g && Sudo npm link PROJECT-NAME