lenny ssh-agent probléma

Fórumok

Hi!

Van egy frissen telepített lenny- m, amin szeretném használni az

 ssh-add 

progit, de ezzel a hibával tér vissza:


Could not open a connection to your authentication agent.

Ez a hiba orvosolható pl. így:


exec ssh-agent bash

, viszont így __nem__:


ssh-agent

A kettő között az a különbség, hogy az első esetben beállítja az

 SSH_AUTH_SOCK 

és

 SSH_AGENT_PID 

változókat, míg utóbbi esetben nem.

A kérdésem az lenne, hogy ezt hogyan lehetne úgy megoldani, hogy ha a helyi gépen nyitok egy xtermet, ne kelljen ezt a sort mindig beírni, hanem mindig működjön. Próbáltam már beírni

 ~/.bashrc 

-be, de akkor be sem tudtam jelentkezni konzolon, vagy az újonnan nyitott xterm egyből be is csukódott. A 2 szükséges változót az

 ssh-agent 

progi kiírja:


SSH_AUTH_SOCK=/tmp/ssh-ZNcGlj7057/agent.7057; export SSH_AUTH_SOCK;
SSH_AGENT_PID=7058; export SSH_AGENT_PID;
echo Agent pid 7058;

Próbáltam erre a kimenetre Shell Scriptet írni, de az sem volt sikeres. Persze ha az adott parancsokat beillesztem a shellbe, minden rendben.

Szóval a fenti problémára keresek megoldást.

Köszi.

Hozzászólások

http://mah.everybody.org/docs/ssh

/etc/profile vagy ~/.bash_profile -ba tedd bele ezt vagy a te beállításaidat:


SSHAGENT=/usr/bin/ssh-agent
	  SSHAGENTARGS="-s"
	  if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
            eval `$SSHAGENT $SSHAGENTARGS`
	    trap "kill $SSH_AGENT_PID" 0
	  fi

Szerk.:
Még futtassd az alábbit root-ként, hátha dob valami érdekeset hogy egyébként hol van bejegyezve az ssh-agent -ed futtatásra. Amúgy milyen login manager-ed van?


grep -ir "ssh-agent" /etc

Kipróbáltam közben.

Tehát mivel az ssh-agent -hez csak azok a programok férnek hozzá, amelyek az ssh-agent által létrehozott session- vagy shell-ből vannak indítva, így igazából ennyi is elég:

ssh-agent bash

Ez létrehoz egy újabb shell-t, amiből már futtathatod az ssh-add -ot és már eléri az agent-et. Vagy X alatt lehetne:

ssh-agent xterm

Kipróbáltam, nálam mindegyik működik, a keletkezett shell-ből elérem az agent-et, a shell-nél X nélkül is természetesen.

Tehát marad az hogy X-hez tedd be az Xsession-be valahová (igazából a login manager-nek kellene indítania), vagy egy script-tel indítsd az xterm-et, és onnét tudnál ssh-t használni agent-tel.

Szerk.:
Idézet:

"hogyan lehetne úgy megoldani, hogy ha a helyi gépen nyitok egy xtermet, ne kelljen ezt a sort mindig beírni"

Én erre csinálnék egy parancsikon-t a panelre pl. és a command része lenne az 'ssh-agent xterm'

Hi!

Bocsi a késői válaszért.

Nincs loginmanagerem, consolról

 startx 

- szel indítom az X- et. Persze, így működik, ahogy mondod, bár én úgy csinálom, hogy az X indítása előtt, az adott consolon futtatom le a dolgokat, de egy kicsit fapados megoldásnak tűnik. Ha elindítottam az X- et, akkor már fújhatom a dolgot, onnantól kell egy xterm, ahol megcsinálom a dolgokat, és minden más xtermet abból származtatok, ami elég csúnya megoldás. Érdekelne, hogy Ubuntu alatt ez hogyan megy.

Köszi.

Habár nem tudom hogy direkt nem akarsz-e használni login manager-t, esetleg miért nem teszel fel egy slim-et? Abszolút kis erőforrást eszik, nem indít feleslegesen keyring-daemont alapból mint a gdm. Én is ezt használom, alapból jól indítja az ssh-agent-emet, a pstree-mből is ez kiderül:


slim─┬─Xorg
     │      
     └─x-session-manag───ssh-agent