如何隔离在msysgit提供的msys实现中ssh-add/ssh-agent出现的问题?

5

我已经安装了msysgit: Git-1.7.8-preview20111206.exe,下载地址为http://code.google.com/p/msysgit/downloads/list (编辑:我还安装了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/environmenteval `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会引入其他复杂性(您可以从我对此问题的描述中看到一些),我正在尝试在没有任何来自Cygwin的情况下使msys工作。

我需要做什么才能找出为什么msys ssh-add不起作用? (或:我需要做什么才能使ssh-add正常工作?)

1个回答

5

我无法详细说明原因和方法,但我可以告诉你我尝试了什么以及最后是怎样解决的。 在 git bash 中:

exec ssh-agent bash

然后(在更改后的shell中):
ssh-add

这在某种程度上起到了作用,我只需要输入一次密码短语,但我失去了正常的外观。经过更多搜索,我在这个Github帮助页面上找到了一个.bashrc脚本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接