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.
- 1611 megtekintés
Hozzászólások
^
Senkinek semmi ötlete?
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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'
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Ha van ssh-agent, akkor annak commandjaként indul az X.
Megnézheted, ha keresel egy
/etc/X11/Xsession.d/90x11-common_ssh-agent
fájlt a neten.
Joozsi
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni