Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

02.01.2013, 09:33

ssh-add fehler: Could not open a connection to your authentication agent.

Hi,

Der Befehl ssh-add fehlert mit der Meldung "Could not open a connection to your authentication agent." seit meinem letzten emerge -DuvaN world.

Nach meiner google suche scheint es mir dass ein paar environment variablen fehlen, weil env | grep SSH gibt mir nichts zurück. Auf anderen Rechner kommen da Variablen.


Wo liegt hier das Problem? Danke

Thorus

2

03.01.2013, 07:59

Läuft denn der ssh-agent?

Quellcode

1
$ eval $(ssh-agent)
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

3

03.01.2013, 09:51

Der ssh agent laeuft an sich:

Quellcode

1
2
3
4
5
ctr-057 jonas # ps aux | grep ssh-agent
jonas     2331  0.0  0.0  24340   604 ?        S     2012   0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/ssh-agent -- gnome-session
jonas     2333  0.0  0.0  14616   552 ?        Ss    2012   0:01 /usr/bin/ssh-agent -- gnome-session
root      3660  0.0  0.0  14616  1032 ?        Ss   Jan02   0:00 ssh-agent bash
root      8428  0.0  0.0  11232   944 pts/11   S+   09:03   0:00 grep --colour=auto ssh-agent


Quellcode

1
2
3
4
ctr-057 jonas # eval $(ssh-agent)
Agent pid 8484
ctr-057 jonas # ssh-add 
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)


Ah, nachdem ich eval $(ssh-agent) mache geht ssh-add, nur moechte ich das eig nicht jedes mal machen müssen, und das in die bashrc oder so einzutragen ist auch keine schöne lösung.

4

03.01.2013, 10:00

und das in die bashrc oder so einzutragen ist auch keine schöne lösung.

Doch ist es. Warum nicht?

Quellcode

1
ps -u $(whoami) | grep ssh-agent &> /dev/null || eval $(ssh-agent)
in deiner ~/.bashrc tut doch nix ...
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

5

03.01.2013, 10:34

Weil ich ja damit den Fehler nicht behoben habe, sondern nur nen Workaround gebaut.

Es ging ja wie gesagt vor meinen emerge -DuvaN world, also muss dabei wohl irgwas kaputt gegangen sein, oder anders.

Als Übergang benutz ich das jetzt so ja, aber wo der fehler liegen könnte weisst du auch net, oder?

EDIT:
ps -u $(whoami) | grep ssh-agent gibt mir was zurück aber es geht trotzdem net, ich muss immer eval $(ssh-agent) machen....

EDIT2:

und danach immer noch ein ssh-add, dass war vorher auch net so. Eig. hab ich in /etc/ssh/ssh_config ein

Quellcode

1
2
Host *
    ForwardAgent yes


Damit ich das net machen muss.

6

04.01.2013, 08:23

Zitat

Weil ich ja damit den Fehler nicht behoben habe, sondern nur nen Workaround gebaut.
Es ging ja wie gesagt vor meinen emerge -DuvaN world, also muss dabei wohl irgwas kaputt gegangen sein, oder anders.

Ja, stimmt schon. Mein Tip oben ähnelt dem gpg-agent Verfahren. ssh-agent ist Teil von openssh. Guck doch mal, wann Portage da was getan hat:

Quellcode

1
# genlop -e openssh


Zitat

ps -u $(whoami) | grep ssh-agent gibt mir was zurück aber es geht trotzdem net, ich muss immer eval $(ssh-agent) machen....

Uhm, ja klar doch. Mein Code-Snippet oben war _ein_ Befehl: vom "ps" angefangen bis zum eval $(ssh-agent) inklusive. Das ist ein ganzes (langes) Kommando.

Quellcode

1
ps -u $(whoami) | grep ssh-agent &> /dev/null || eval $(ssh-agent)
ist als ganzes auf einmal auszuführen, und liest sich "Gib mir alle Prozesse des aktuellen Users, filtere diese Liste nach ssh-agent und verwerfe aber die Ausgaben. Wenn der vorherige Befehle einen Fehlercode erzeugte (weil vlt. kein Ergebnis), dann starte einen ssh-agent und führe die Asugabe als Bash-Commandos in der aktuellen Bash aus." (Das ist die COBOL-Version ...)

Das mit der ssh_config schaltet ja nur den ssh-Server bereit damit dieser grundsätzlich mal mit einem ssh-agent zusammenarbeitet, oder?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

7

04.01.2013, 09:18

Das mit dem Befehl hab ich schon verstanden aber wie gesagt:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
ctr-057 jonas # ps -u $(whoami) | grep ssh-agent
 8484 ?        00:00:00 ssh-agent
 9453 ?        00:00:00 ssh-agent
 9463 ?        00:00:00 ssh-agent
10564 ?        00:00:00 ssh-agent
11273 ?        00:00:00 ssh-agent
12167 ?        00:00:00 ssh-agent
13119 ?        00:00:00 ssh-agent
13122 ?        00:00:00 ssh-agent
ctr-057 jonas # ssh-add 
Could not open a connection to your authentication agent.


Verstehst du jetzt was ich meine? Es laufen ssh-agents, und ich kann trotzdem keine connection zum authentication agent aufmachen.

Quellcode

1
2
3
4
5
6
 * net-misc/openssh

     Thu Aug  2 15:54:00 2012 >>> net-misc/openssh-5.9_p1-r4
     Tue Nov  6 19:11:03 2012 >>> net-misc/openssh-5.9_p1-r4
     Sat Dec 15 18:32:16 2012 >>> net-misc/openssh-6.1_p1
     Tue Dec 18 21:53:16 2012 >>> net-misc/openssh-6.1_p1


18. Dezember kann gut hinkommen dass es seitdem nicht mehr funktioniert...

Das mit der ssh_config weiss ich net so genau, aber vorher hat das so funktioniert, dass nachdem ich diese option eingeschaltet habe, ich danach kein ssh-add mehr machen musste, ich meinen key auf dem remote host verwenden konnte.
Und bei Kollegen die Ubuntu nutzen war es genauso...

Ich probier mal openssh nochmal zu mergen...

8

04.01.2013, 09:35

Verstehst du jetzt was ich meine? Es laufen ssh-agents, und ich kann trotzdem keine connection zum authentication agent aufmachen.

Ja, eh klar. =)

Es ist so:
1. ssh-agent startet
2. dieser legt einen Unix Socket zur Kommunication an, damit andere mit diesem operieren können.
3. Wenn der ssh-agent den Socket angelegt hat, dann gibt er die Addresse auf stdout aus. Diese Addresse ist in Form eine Umgebungsvariablen in der Shell. Wenn du das nicht berücksichtigst, dann verpufft das einfach.
4. Prinzipiell kannst du beliebig viele ssh-agents laufen haben. Warum auch nicht? Unix ist multi-user und für jeden User ist ein ssh-agent gedacht ...

Ok.

Wenn nun ein Prog mit dem ssh-agent arbeiten will, bsp. ssh-add, dann klappert es alle Umgebungsvariablen ab. Wenn es dort keinen Eintrag eines ssh-agents findet, na dann: "Could not open a connection to your authentication agent" ... und dabei kannst 100000000000 ssh-agents im Hintergrund laufen haben. Das checkst du bequem in dem du in der aktullen Bash ein "env" eingibst. Findest du dort keinen Eintrag für deinen ssh-agent dann ist das exakt das Verhalten.

Das "eval" beim Ausführen von ssh-agent ist essentiell. Bedenke weiters, dass diese Umgebungsvariable auch nur in der aktuellen Bash und in dieser gestarteten Prozesse gültig ist. Heißt: ssh-add musst du *in der selben* Bash ausführen, sonst läuft das schief. Wenn diese Zeile aber in der ~/.bashrc ist, dann wird das mindestens von deiner Login-Bash ausgeführt und damit haben alle folgenden Prozesse inkl. WindowManager diese Umgebungsvariable ...

Also: pkill ssh-agent, ~/.bashrc modifizieren völlig und restlos ausloggen und dann wieder einloggen. Mach dann irgendwo einen Terminal auf und checke ob du mit "env" einen ssh-agent Eintrag siehst, hm?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

9

04.01.2013, 10:48

Ok, ich hab einmal komplett rebootet, und eine shell als root geöffnet und ich hab bei env | grep -i SSH keinen eintrag, allerdings als normaler user schon! nur als root nicht...

Mache ich eval $(ssh-agent) dann habe ich diesen eintrag als root, in einer neuen shell allerdings nicht mehr.

EDIT: wenn ich ein terminal mit normalen user aufmache, und dann su, habe ich den env eintrag. mache ich ein terminal per sudo gnome-terminal auf, dann nicht.

10

05.01.2013, 11:14

Zitat

Ok, ich hab einmal komplett rebootet, und eine shell als root geöffnet und ich hab bei env | grep -i SSH keinen eintrag, allerdings als normaler user schon! nur als root nicht...

Würde ich mir auch so erwarten.

Zitat

Mache ich eval $(ssh-agent) dann habe ich diesen eintrag als root, in einer neuen shell allerdings nicht mehr.

Auch das ist normal.

Hm, mag sein, dass du bei Shell und Shell-Variablen nicht ganz sattelfest bist? Hier mal ein Link dazu: http://openbook.galileocomputing.de/shel…4004DB11F020172
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>