From: Adam Hardy on
I've been chasing my tail trying to work this one out following different
examples off the web, but can't sort it out and keep getting the old

"Could not open a connection to your authentication agent."

from ssh-add, and nothing but inaction from keychain.

I know everything has to run as a child of ssh-agent to gain access to its
envvars, but I don't how to achieve this.

keychain id_rsa in my .bash_profile doesn't work, I still have to give ssh my
password for the private key when I use ssh.

I guess I should be setting up the envvars in my bash env somehow when getting
them via 'ssh-agent -s' but I don't know the syntax to do this.

I always boot into a command line and then run startx when I need it, and I
think herein lies the problem - although I can't get it to work on the command
line either with keychain or ssh-add.

Thanks
Adam


--
To UNSUBSCRIBE, email to debian-user-REQUEST(a)lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster(a)lists.debian.org
From: Jeff D on
On Fri, 15 Jan 2010, Adam Hardy wrote:

> I've been chasing my tail trying to work this one out following different
> examples off the web, but can't sort it out and keep getting the old
>
> "Could not open a connection to your authentication agent."
>
> from ssh-add, and nothing but inaction from keychain.
>
> I know everything has to run as a child of ssh-agent to gain access to its
> envvars, but I don't how to achieve this.
>
> keychain id_rsa in my .bash_profile doesn't work, I still have to give ssh my
> password for the private key when I use ssh.
>
> I guess I should be setting up the envvars in my bash env somehow when getting
> them via 'ssh-agent -s' but I don't know the syntax to do this.
>
> I always boot into a command line and then run startx when I need it, and I
> think herein lies the problem - although I can't get it to work on the command
> line either with keychain or ssh-add.
>
> Thanks
> Adam


Hi Adam,

from the command line you can run :

ssh-agent bash
#that starts your agent for that shell, you will need to run that for each
shell you want to have access to your keys
ssh-add -i /path/to/your/key


For X, in /etc/X11/Xsession.options, check and make sure you have
use-ssh-agent in there. That should automatically start your ssh-agent for
your X session. Then from a term you can run something like this:
#!/bin/sh

if ! ps -P $SSH_AGENT_PID ; then
echo " need to run ssh-agent"
exit 0
fi

if ssh-add -l| egrep -i "dsa|rsa" ; then
echo "keys there"
else
echo "need to add .keys"
ssh-add /path/to/id_dsa
fi


--
8 out of 10 Owners who Expressed a Preference said Their Cats Preferred Techno.


--
To UNSUBSCRIBE, email to debian-user-REQUEST(a)lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster(a)lists.debian.org
From: Adam Hardy on
Jeff D on 15/01/10 17:00, wrote:
> On Fri, 15 Jan 2010, Adam Hardy wrote:
>
>> I've been chasing my tail trying to work this one out following different
>> examples off the web, but can't sort it out and keep getting the old
>>
>> "Could not open a connection to your authentication agent."
>>
>> from ssh-add, and nothing but inaction from keychain.
>>
>> I know everything has to run as a child of ssh-agent to gain access to its
>> envvars, but I don't how to achieve this.
>>
>> keychain id_rsa in my .bash_profile doesn't work, I still have to give ssh my
>> password for the private key when I use ssh.
>>
>> I guess I should be setting up the envvars in my bash env somehow when getting
>> them via 'ssh-agent -s' but I don't know the syntax to do this.
>>
>> I always boot into a command line and then run startx when I need it, and I
>> think herein lies the problem - although I can't get it to work on the command
>> line either with keychain or ssh-add.
>>
>> Thanks
>> Adam
>
>
> Hi Adam,
>
> from the command line you can run :
>
> ssh-agent bash
> #that starts your agent for that shell, you will need to run that for each
> shell you want to have access to your keys
> ssh-add -i /path/to/your/key
>
>
> For X, in /etc/X11/Xsession.options, check and make sure you have use-ssh-agent in there.
[SNIP]

What I'm trying to do is to get this set up in my .bash_profile so that I only
need to type in my key password once when I log into the machine.

I can't put the two command in my .bash_profile because the 2nd command won't
get executed until the first bash shell exits.

I do have the line in my Xsession.options


--
To UNSUBSCRIBE, email to debian-user-REQUEST(a)lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster(a)lists.debian.org
From: Boyd Stephen Smith Jr. on
In <4B5092D0.60803(a)cyberspaceroad.com>, Adam Hardy wrote:
>keychain id_rsa in my .bash_profile doesn't work, I still have to give ssh
> my password for the private key when I use ssh.

I use this for starting the daemons or connecting to existing daemons by
setting environment variables in the current shell:
eval "$(/usr/bin/keychain --eval --quiet --inherit any-once --stop others --
noask --lockwait 0)"

I use this for adding keys to an existing daemon -- it doesn't change the
environment at all:
SSH_KEYS=('id_dsa')
/usr/bin/keychain --inherit any-once --stop others --clear "${SSH_KEYS[@]}"
--
Boyd Stephen Smith Jr. ,= ,-_-. =.
bss(a)iguanasuicide.net ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/ \_/
From: Florian Ernst on
Hello all,

On Fri, Jan 15, 2010 at 04:07:44PM +0000, Adam Hardy wrote:
> I've been chasing my tail trying to work this one out following
> different examples off the web, but can't sort it out and keep
> getting the old
>
> "Could not open a connection to your authentication agent."
>
> from ssh-add, and nothing but inaction from keychain.
>
> I know everything has to run as a child of ssh-agent to gain access
> to its envvars, but I don't how to achieve this.

I used to have in $HOME/.bashrc:
| AGENT_INFO_FILE=$HOME/.ssh/ssh-agent-info
| if eval `cat "$AGENT_INFO_FILE"` 2> /dev/null && \
| kill -0 $SSH_AGENT_PID 2> /dev/null
| then
| eval `cut -d'=' -f 1 "$AGENT_INFO_FILE" | xargs echo export`
| else
| eval `ssh-agent -t 86400` > /dev/null
| ( echo "SSH_AUTH_SOCK=$SSH_AUTH_SOCK";
| echo "SSH_AGENT_PID=$SSH_AGENT_PID" ) > "$AGENT_INFO_FILE"
| fi

While SSH_AUTH_SOCK is set no agent will be started during X startup as
per /etc/X11/Xsession.d/90x11-common_ssh-agent and the previously
started one will be used. This way the agent will be started only once
per boot and one only needs to ssh-add once for all gettys.

HTH,
Flo