it-swarm.com.de

ssh-add beschwert sich: Es konnte keine Verbindung zu Ihrem Authentifizierungsagenten hergestellt werden

Ich habe versucht, ssh-add An einem RaspberryPi zum Laufen zu bringen, auf dem Raspbian ausgeführt wird.

Ich kann ssh-agent Starten, wenn ich es tue, gibt es die folgende Ausgabe in das 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;

Wenn ich ps aux | grep ssh Ausführe, kann ich sehen, dass es ausgeführt wird.

Dann versuche ich, ssh-add Auszuführen, um meine Schlüsselpassphrase hinzuzufügen, und ich erhalte Folgendes:

Could not open a connection to your authentication agent.

Irgendwelche Ideen?

161
Daniel Groves

Ihre Shell soll den von ssh-agent Ausgegebenen Shell-Code auswerten. Führen Sie dies stattdessen aus:

eval "$(ssh-agent)"

Wenn Sie ssh-agent bereits gestartet haben, kopieren Sie es und fügen Sie es in Ihre Shell-Eingabeaufforderung ein (vorausgesetzt, Sie führen eine Bourne-ähnliche Shell aus).

ssh Befehle müssen wissen, wie man mit ssh-agent spricht, das wissen sie aus der Umgebungsvariablen SSH_AUTH_SOCK.

244

Probier diese:

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

Diese Frage wurde auch auf Stackoverflow sehr gut behandelt.

eval `ssh-agent -s`

ssh-add
13
xaa

Wenn Sie csh als Shell verwenden ( FreeBSD PI ), könnte dies funktionieren:

eval `ssh-agent -c`

als nächstes müssen Sie nur noch etwas tun wie:

ssh-add ~/.ssh/id_rsa
6
nbari

Versuchen Sie Folgendes: Gehen Sie zu C:\$Installation_Folder$\Git\cmd und ausführen:

start-ssh-agent 

Es öffnet einen cmd-Befehl und führt das ssh-agent der richtige Weg.

ssh-add ~/.ssh/id_rsa sollte dann funktionieren.

2
sab125

Dies war verwirrend und hat zwei mögliche gute Antworten, je nachdem, ob der Benutzer versucht, einen SSH-Schlüssel unter Linux oder Windows hinzuzufügen (so wie ich). Dies beantwortet wahrscheinlich nicht das OP, ist aber eine Erweiterung für Git-Bash. Ich führe sowohl Windows als auch Ubuntu für die Entwicklung aus und meine Git-Installation unterscheidet sich jeweils geringfügig.

Versuchen Sie Folgendes: Gehen Sie zu C:\$ Installation_Folder $\Git\cmd und führen Sie Folgendes aus:

start-ssh-agent Es öffnet einen cmd-Befehl und führt den ssh-agent richtig aus.

.. war eine gute Windows-Antwort, konnte jedoch nicht angeben, dass Sie den Windows-Explorer nach dem Git-Installationsordner durchsuchen und die Windows-Shell ausführen sollten, die nach Abschluss von Schritt 1 geöffnet wird.
"Gehen Sie zu C:\$ Installation_Folder $\Git\cmd"

Schritt 2: Sie müssen nur doppelklicken

start-ssh-agent

In Schritt 3 kehren Sie zu git-bash oder dem von Ihnen ausgeführten * nix-Terminalemulator zurück und führen ssh-add aus. Wenn Sie den Standardnamen für den öffentlichen ssh-Schlüssel verwendet haben, müssen Sie den Namen nicht hinzufügen, da ssh-add dies automatisch verwendet.

2
Wolf Halton

Sie können auch die folgende Syntax verwenden:

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

Es gibt verschiedene Möglichkeiten, eine Identität mit Sudo zu verwenden, z. Sudo npm install.

Langer Weg, bietet Ihnen aber auch Root-Zugriff, sodass Sie Sudo nicht oft verwenden müssen.

  1. Lauf
    Sudo ssh-agent bash
    Hier werden Sie nach Ihrem Passwort gefragt und anschließend wird ssh-agent mit den Privilegien des Superusers,
  2. Navigieren Sie zum .ssh-Ordner Ihrer Benutzer
    cd /home/user/.ssh
  3. Von dort können Sie laufen

    ssh-add id_rsa
    npm install git+ssh://[email protected] -g && npm link PROJECT-NAME
    

Kurzer Weg, nur Ihr Benutzer (es sei denn, Sie möchten viel 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
1
Belldandu