1、系统警告Could not open a connection to your authentication agent.

一般这个问题会出现在你使用ssh-add命令的时候,究其原因其实很简单就是你还没有启动ssh-agent,网上有很多解决方式,最便捷的就是直接开启ssh-agent

1
2
eval `ssh-agent -s`
ssh-add

不过,如果每次都这样开启ssh-agent也太麻烦了一些,Joseph M. Reagle 就提供了一段shell脚本,方便自启动ssh-agent

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
SSH_ENV="$HOME/.ssh/environment"

function start_agent {
     echo "Initialising new SSH agent..."
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
     echo succeeded
     chmod 600 "${SSH_ENV}"
     . "${SSH_ENV}" > /dev/null
     /usr/bin/ssh-add;
}

# Source SSH settings, if applicable

if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
     #ps ${SSH_AGENT_PID} doesn't work under cywgin
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
         start_agent;
     }
else
     start_agent;
fi

如果你是使用bash那么直接将这段代码放入你的.bash_profile即可,然后source .bash_profile或者重新登了一下,你可以看到以下提示:

1
2
Initialising new SSH agent...
succeeded

接下来你就可以使用ssh-add进行操作了。

参考链接

  1. could-not-open-a-connection-to-your-authentication-agent
  2. start-ssh-agent-on-login
  3. http://mah.everybody.org/docs/ssh
  4. http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html