Could not open a connection to your authentication agent.

   28 August 2007, early morning

SSH private-keys are usually stored encrypted on the computers they are stored on. A pass-phrase is used to decrypt them when they are to be used. Since most people use SSH public-private key-pairs to get around typing in passwords all the time, the ssh-agent daemon exists to store decrypted private-keys you plan on using in a given session. The thing most people get tripped up on when using ssh-agent is that what the program outputs, some borne or csh shell commands, needs to be run. It may look like ssh-agent has set some variables for you, but it has in fact done no such thing. If you call ssh-add without processing ssh-agent’s output, it will complain it is unable to open a connection to your authentication agent. The most straightforward way to run ssh-agent on the command line is as follows: eval `ssh-agent`. After doing this, calls to ssh-add should succeed without error.

 

Comments

  1. Thank you for this tip, it saved my coffee-break time !

  2. You saved more than my coffee break! Thanks for the assistance!

  3. Hi,

    I have the ssh-agent running but I still get the error message that it is unable to open a connection to the authentication agent when I call “ssh-add”. Any idea if I’m missing some other step?

    Appreciate your help!

  4. Did you run it as specified above, by eval’ing the output? That’s really all you need to do. Otherwise just export the variables it spits out yourself.

  5. Thank you!

  6. Dear all,

    I am a newbie on Linux and I am facing a similar problem.

    I run eval ssh-agent on command line but I still can’t manage to open the connection. Is there something I am missing?
    Thanks is advance.

  7. That’s really all you should need to do. You can manually export the variables ssh-agent spits out (copy and paste them all to the comand line), but basically, that’s what eval is doing.

  8. thanks a lot

  9. You can also do the following :
    (dont forget to kill the old agent(s))
    The punctuation is important.
    This will read your agent setting into the shell :

    . .agentinfo

    And now starting the agent will continue without a problem.

    ssh-agent

    Make sure there is a space between the 2 dots. :/

Don't be shy, you can comment too!

 
Some things to keep in mind: You can style comments using Textile. In particular, *text* will get turned into text and _text_ will get turned into text. You can post a link using the command "linktext":link, so something like "google":http://www.google.com will get turned in to google. I may erase off-topic comments, or edit poorly formatted comments; I do this very rarely.