我正在尝试通过 Eclipse 'egit' 模块访问私有远程 SSH git 存储库。我在 Windows 上运行 Eclipse。Eclipse 似乎无法自动使用 putty 的 pagent 进行授权转发,而且我找不到任何有关自定义 egit 使用的 SSH 的文档(例如,使用 plink.exe)。
我在网上找到了有关设置其他 Windows git 客户端以使用 putty/plink(例如,用于 msysgit)的文档,但我似乎找不到任何关于 Eclipse 的 egit 和 putty(或 eclipse)的信息。
我确信 ssh 密钥可以正常工作,因为我一直使用它来使用 Putty 登录服务器。
具体来说,我使用Git Repository Viewer,点击“Clone Remote Repository”,填写主机、存储库路径、协议(ssh)和用户。我单击“下一步”。我可以说它正在连接,因为我收到了一个带有服务器独特横幅的弹出窗口。然后我得到一个
Transport Error: Cannot list the available branches: Reason: <URI>: Auth fail
ssh 登录只能通过 sshkey 进行,所以这就是为什么这不起作用(但至少它表明我已经掌握了基础知识)。
有人在 egit+pageant 上取得成功吗?或者知道它是否不可能?
更新
似乎这不起作用,因为 Eclipse 在内部使用了纯 Java SSH (jsch) 实现,并且 Eclipse 包含的实现不(尚)支持授权代理协议。
已经提出了一些通过 支持平台 ssh 代理的补丁(感谢@Janning 提供的链接)。请参阅此 Eclipse错误 179924。更新 #24 包含有关提议的补丁的令人鼓舞的说明:
我已经确认我可以访问http://github.com/并使用 putty 的选美通过 egit 克隆一些项目。
我不完全确定,但目前的挂断似乎是围绕纯 java unix-domain 套接字库的一些许可问题,以及升级 Eclipse 使用的纯 java SSH 实现。
最近的一个错误(编号 360663)显示所需的 jsch 版本已提交给 Eclipse(据我所知,它应该是下一个版本的一部分——应该是 2012 年 6 月结束)。