【发布时间】:2015-09-11 14:18:31
【问题描述】:
在 Windows 10 上运行 Mars 版本的 Eclipse。我正在尝试使用此 URL 克隆存储库(域名替换为 example.com):
ssh://git@git.example.com/opt/git/dnsconfig.git
最初我在尝试连接时遇到了很多麻烦,因为 Eclipse 在 known_hosts 中没有服务器指纹,并且无法接受未知指纹。我最终找到了解决方法(将 Linux 服务器的 known_hosts 文件中的行复制到 Windows 上的 eclipse known_hosts 中)。 eclipse中与私钥匹配的公钥已添加到服务器的authorized_keys文件中。
现在我已经解决了指纹问题,当我尝试克隆时,我进入分支选择屏幕,这是顶部的错误消息:
ssh://git@git.example.com/opt/git/dnsconfig.git:未找到。: ssh://git@git.example.com/opt/git/dnsconfig.git:未找到。
如果我在 Linux 机器上输入以下命令(该主机也在服务器上的 authorized_keys 中设置了一个 ssh 密钥),它可以完美运行:
git clone ssh://git@git.example.com/opt/git/dnsconfig.git
我以此为指导设置服务器:
https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server
这可能是用户错误...谁能帮我弄清楚我做错了什么?
【问题讨论】:
-
在另一个端口上以调试模式运行 sshd,并在 eclipse 中更改端口,得到了这个调试信息:apaste.info/HHY 看起来 Eclipse 在服务器发送其密钥后关闭了 ssh 连接(SSH_MSG_NEWKEYS发送),而不是发回密钥。
-
更多信息:同样的事情发生在 sshd 调试(备用端口)上,即使我输入了 git 用户的密码并选中该框以将其保存在安全存储中。我不想使用密码,但即使我这样做了,那也不起作用。
-
在来自 sshd 的日志中,您似乎使用 putty 作为客户端。 AFAIK putty 不会读取您的 ssh 配置,因此除非您专门配置它,否则它很可能不会使用任何密钥...我会下载 Git for Windows 并从命令行对其进行故障排除。另一个想法是 JGit 读取 SSH .config 文件。也许您对该主机有一些冲突的配置?
-
我可以向你保证,我没有(直接)使用腻子进行连接。我在 Eclipse 中单击按钮来克隆一个 git repo。
-
我尝试使用 msysgit(我已经安装了它)。那也没用。在 msysgit 附带的 Git Bash 中,我使用 Eclipse 尝试中已经在 c:\users\username\.ssh 中拥有的 ssh 密钥成功地建立了一个普通的 ssh 连接(没有 git)。这是来自 Git Bash 的日志:apaste.info/lGo