不断提示输入 .ssh/id_rsa 的密码
Keep being prompted to enter passphrase for .ssh/id_rsa
我在 Window 7 上按照教程 here 在 cygwin 中为 github 设置了 ssh。但是,每次 git push origin master
时,我都会收到提示以下:
Enter passphrase for /cygdrive/c/Users/mynameis/.ssh/id_rsa:
这太烦人了,因为它违背了最初设置 ssh 的目的。我不明白为什么它一直提示我输入密码,因为当我用我的 Mac 做同样的事情时,一切都运行得很好很顺利。
我尝试了其他解决方案,例如:将 eval ssh-agent -s
添加到我的 .bashrc
中。但问题仍然存在。 我怀疑问题与 Window 上 cygwin 中的 ssh-agent
或 ssh-add
有关 7. 我怎样才能解决这个问题?
将以下内容添加到您的 ~/.bash_profile
。当 bash 启动时,这会做两件事:1. 启动 ssh-agent(否则它可能会为每个 push/pull 生成并消亡)和 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
另请参阅:
我在 Window 7 上按照教程 here 在 cygwin 中为 github 设置了 ssh。但是,每次 git push origin master
时,我都会收到提示以下:
Enter passphrase for /cygdrive/c/Users/mynameis/.ssh/id_rsa:
这太烦人了,因为它违背了最初设置 ssh 的目的。我不明白为什么它一直提示我输入密码,因为当我用我的 Mac 做同样的事情时,一切都运行得很好很顺利。
我尝试了其他解决方案,例如:将 eval ssh-agent -s
添加到我的 .bashrc
中。但问题仍然存在。 我怀疑问题与 Window 上 cygwin 中的 ssh-agent
或 ssh-add
有关 7. 我怎样才能解决这个问题?
将以下内容添加到您的 ~/.bash_profile
。当 bash 启动时,这会做两件事:1. 启动 ssh-agent(否则它可能会为每个 push/pull 生成并消亡)和 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
另请参阅: