web-dev-qa-db-ja.com

ssh-addが不平を言う:認証エージェントへの接続を開けませんでした

私はRaspbianを実行しているRaspberryPiでssh-addを動作させるように努めています。

ssh-agentを開始できます。そうすると、ターミナルに次の出力が表示されます。

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

ps aux | grep sshを実行すると、実行されていることがわかります。

次に、ssh-addを実行してキーパスフレーズを追加しようとすると、次のようになります。

Could not open a connection to your authentication agent.

何か案は?

161
Daniel Groves

シェルは、ssh-agentによって出力されたシェルコードを評価するためのものです。代わりにこれを実行してください:

eval "$(ssh-agent)"

または、ssh-agentをすでに起動している場合は、それをシェルプロンプトにコピーして貼り付けます(Bourneのようなシェルを実行している場合)。

sshコマンドは、ssh-agentと通信する方法を知る必要があります。SSH_AUTH_SOCK環境変数からそれを知っています。

244

これを試してください:

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

この質問は Stackoverflow でも十分にカバーされています。

eval `ssh-agent -s`

ssh-add
13
xaa

シェルとしてcshを使用している場合( FreeBSD PI )これは機能します。

eval `ssh-agent -c`

次に必要なのは次のようなことだけです。

ssh-add ~/.ssh/id_rsa
6
nbari

これを試してください:C:\$Installation_Folder$\Git\cmdに移動して実行します。

start-ssh-agent 

それはcmdコマンドを開き、ssh-agentを正しい方法で実行します。

ssh-add ~/.ssh/id_rsaが機能するはずです。

2
sab125

これは混乱を招き、ユーザーがLinuxまたはWindows(私と同じ)でsshキーを追加しようとしているかどうかに応じて、2つの適切な回答が考えられます。これはおそらくOPに応答しませんが、git-bashの拡張です。開発にはWindowsとUbuntuの両方を実行していますが、私のgitインストールはそれぞれ少し異なります。

これを試してください:C:\ $ Installation_Folder $\Git\cmdに移動して実行します:

start-ssh-agent cmdコマンドを開き、ssh-agentを正しい方法で実行します。

..は適切なWindowsの答えでしたが、Windowsエクスプローラーを使用してGitインストールフォルダーを検索し、手順1の完了時にWindowsシェルを開くことが期待されていることを指定できませんでした。
"C:\ $ Installation_Folder $\Git\cmdに移動します"

ステップ2:ダブルクリックするだけです

start-ssh-agent

ステップ3で、git-bashまたは実行中の* nix端末エミュレーターに戻り、ssh-addを実行します。 ssh公開鍵にデフォルト名を使用した場合は、ssh-addが自動的に使用するため、名前を追加する必要はありません。

2
Wolf Halton

次の構文も使用できます。

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

SudoでIDを使用する場合、いくつかの方法があります。 Sudo npm install

長い道のりだけでなく、rootアクセスも提供するため、Sudoをたくさん使用する必要はありません。

  1. 走る
    Sudo ssh-agent bash
    これはパスワードを要求し、その後スーパーユーザーの権限でssh-agentを実行します。
  2. ユーザーの.sshフォルダに移動します
    cd /home/user/.ssh
  3. そこからあなたは走ることができます

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

短い方法、自分のユーザーのみ(多くの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