我从http://code.google.com/p/msysgit/downloads/list安装了msysgit:Git-1.7.8-preview20111206.exe(编辑:我还安装了msysGit-fullinstall-1.7.8-preview20111206.exe,方便安装到不同的目录,我看到了那个例子的相同问题。)
我遇到ssh-agent问题,ssh-add总是报告:“无法打开与身份验证代理的连接。”
不幸的是,ssh-add没有给我任何关于它遇到的错误的更多细节。当它尝试连接到套接字时感觉它超时,但它实际上并不承认这是问题,并且ssh-agent的行为就像它正常运行一样。考虑到这种组合让我怀疑是一个权限问题,但我不知道在哪里我会调查那种问题(我没有看到任何我认为在Windows事件日志中有意义的东西)。
此错误消息让我感到困惑:如果我的环境变量设置不正确,我有理由相信我会收到此错误消息,但我有理由相信我已正确设置了环境变量。我有理由相信,如果我的环境变量引用了一个没有运行的ssh-agent实例,我可能会收到此错误消息,但我只有一个ssh-agent实例正在运行,它与我在环境变量中看到的匹配。这是可重复的。我已经开始(并最终关闭)了几十个ssh-agent实例,使用ssh-agent > ~/.ssh/environment; . ~/.ssh/environment
,eval `ssh-agent`
和ssh-agent bash
之类的技术等等......我无法获得msys ssh -add连接到msys ssh-agent。
bash-3.1$ ps | grep ssh-agent
10304 1 10304 10304 ? 500 09:01:24 /bin/ssh-agent
bash-3.1$ bash -c 'set | grep SSH_A'
BASH_EXECUTION_STRING='set | grep SSH_A'
SSH_AGENT_PID=10304
SSH_AUTH_SOCK=/tmp/ssh-oAFwa11048/agent.11048
bash-3.1$ time ssh-add -L
Could not open a connection to your authentication agent.
real 0m10.730s
user 0m0.000s
sys 0m0.015s
bash-3.1$ wc /tmp/ssh-oAFwa11048/agent.11048
0 3 52 /tmp/ssh-oAFwa11048/agent.11048
bash-3.1$ cat /tmp/ssh-oAFwa11048/agent.11048; echo
!<socket >59261 060A4541-9831B739-519220DE-57936738
bash-3.1$
我并不关心任何脚本编写 - 我相信如果我能从命令行获得ssh-add工作,我可以编写脚本...
另请注意,ssh-add使用的10秒实时发出“无法打开...”消息。
而且,我在这里使用的是当前版本的Windows 7。并且,我也安装了cygwin,但是当我使用msys时它不在我的路上。任务管理器告诉我,我只有一个ssh-agent实例正在运行。正在运行的ssh-agent是msys ssh-agent,是从msysgit的bash提示符启动的(没有来自cygwin的路径)。 ssh密钥是使用cygwin的ssh-keygen生成的,但是表面测试向我显示msys ssh实用程序对文件没有任何问题。 ssh-agent没有给我任何错误消息或警告。
我可以使用cygwin的ssh-agent,但混合cygwin和msys会引入其他复杂性(你可以从我对这个问题的描述中看到一些),我试图让msys在没有任何来自cygwin的情况下工作。< / p>
我需要做些什么才能找出为什么msys ssh-add不起作用? (或者:我需要做些什么才能使ssh-add正常工作?)
答案 0 :(得分:5)
我不能告诉你为什么以及如何做,但我可以告诉你我尝试了什么以及最终解决了什么。 在git bash中:
exec ssh-agent bash
然后(在更改的shell中):
ssh-add
这在某种程度上起作用,我只需输入一次密码,但我失去了正常的外观。经过一些搜索后,我在this Github help page上找到了一个.bashrc脚本。