继续提示输入.ssh / id_rsa的密码

时间:2015-02-16 01:19:23

标签: git bash ssh cygwin

我按照教程here在窗口7上的cygwin中为github设置ssh。但是,每次执行git push origin master时,我都会收到以下提示:

Enter passphrase for /cygdrive/c/Users/mynameis/.ssh/id_rsa:

这太烦人了,因为它首先打败了设置ssh的目的。我不明白为什么它一直提示我输入密码,因为当我用我的Mac做同样的事情时,一切都运行得很顺利。

我尝试了其他解决方案:将eval ssh-agent -s添加到.bashrc。但问题仍然存在。 我怀疑该问题与Windows 7上的cygwin中的ssh-agentssh-add有关。如何解决此问题?

1 个答案:

答案 0 :(得分:12)

将以下内容添加到~/.bash_profile。当bash启动时,这会做两件事:1。启动ssh-agent(否则它可能会产生并为每次推/拉而死)和2.告诉代理记住你的密码。在某些Linux发行版中,这种情况会自动发生,遗憾的是,Cygwin的情况并非如此。

## only ask for my SSH key passphrase once!
#use existing ssh-agent if possible
if [ -f ${HOME}/.ssh-agent ]; then
   . ${HOME}/.ssh-agent > /dev/null
fi
if [ -z "$SSH_AGENT_PID" -o -z "`/usr/bin/ps -a|/usr/bin/egrep \"^[ ]+$SSH_AGENT_PID\"`" ]; then
   /usr/bin/ssh-agent > ${HOME}/.ssh-agent
   . ${HOME}/.ssh-agent > /dev/null
fi
ssh-add ~/.ssh/id_rsa

另见: