2

I've been using ssh for svn for a while now, but suddenly this strange thing happen

First, running svn up would just do, wonderfully.

Later, running svn up prompted me for a password, the suggested solution was to do sudo ssh-add ~/.ssh/* and then executing the update. Not very painful, but not so fun either.

Now, even that won't work. It says:

Could not open a connection to your authentication agent.

So the actual way of making this work is:

exec ssh-agent bash

sudo ssh-add ~/.ssh/*

svn up

Is there a way I can avoid doing all that stuff ?

Thanks a lot

2 Answers 2

5

Just put this line into your .profile:

eval `ssh-agent -s`

And it'll be taken care of automatically whenever you open a shell.

You could put the ssh-add command in there too, but I recommend doing that manually so that you can keep your private key passphrase-encrypted.

8
  • mm this doesn't work, still asks for the passphrase (which is empty) and after pressing enter it asks for a password :( Nov 11, 2010 at 19:07
  • Just to verify you followed my instructions correctly: are you seeing an "Agent PID 12345" message when you start the shell, and does running 'env' show SSH_AUTH_SOCK and SSH_AGENT_PID set? If you aren't, try moving the ssh-agent line from .profile to .bashrc: maybe your terminal isn't a login shell.
    – dfranke
    Nov 11, 2010 at 19:09
  • I put that on my .profile and I'm seeing the Agent PID ### stuff. I have both variables you mention defined. Nov 11, 2010 at 19:22
  • Then check the output of 'ssh-add -l' and make sure the relevant key is loaded into the agent. If it is, and this approach doesn't work while the commands you listed in your question do, then I have no idea what to tell you.
    – dfranke
    Nov 11, 2010 at 19:24
  • Why, by the way, are you running the ssh-add command under sudo? Is there some reason that those keys aren't readable by the user you're running svn under?
    – dfranke
    Nov 11, 2010 at 19:24
0

You can also run svn through apache. That way you will only need to do the ssh-agent/ssh-add prior to starting apache.

You can then access svn through https.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .