“算法协商失败";尝试通过SSH连接到个人Git服务器时Eclipse中出现错误 [英] "Algorithm negotiation fail" error in Eclipse when trying to connect by SSH to a personal Git Server

查看:116
本文介绍了“算法协商失败";尝试通过SSH连接到个人Git服务器时Eclipse中出现错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有Eclipse Juno,这是带有Git服务器的Synology Server DS213 +.我试图将项目从Git Server检出到工作区,并且在Eclipse中使用EGit时出现此错误:

I have Eclipse Juno, a Synology Server DS213+ with a Git Server. I'm trying to checkout a project from my Git Server to my workspace and when I use EGit in Eclipse I have this error:

org.eclipse.jgit.api.errors.TransportException: ssh://[route]/volume1/Git/project.git: Algorithm negotiation fail
    at org.eclipse.jgit.api.LsRemoteCommand.execute(LsRemoteCommand.java:223)
    at org.eclipse.jgit.api.LsRemoteCommand.call(LsRemoteCommand.java:159)
    at org.eclipse.egit.core.op.ListRemoteOperation.run(ListRemoteOperation.java:99)
    at org.eclipse.egit.ui.internal.clone.SourceBranchPage$8.run(SourceBranchPage.java:324)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: org.eclipse.jgit.errors.TransportException: ssh://[route]/volume1/Git/project.git: Algorithm negotiation fail
    at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:159)
    at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:136)
    at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:262)
    at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:161)
    at org.eclipse.jgit.api.LsRemoteCommand.execute(LsRemoteCommand.java:202)
    ... 4 more
Caused by: com.jcraft.jsch.JSchException: Algorithm negotiation fail
    at com.jcraft.jsch.Session.receive_kexinit(Session.java:583)
    at com.jcraft.jsch.Session.connect(Session.java:320)
    at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116)
    ... 8 more

[route]是正确的,并且在其他git软件中也可以正常工作

[route] is correct and works fine in other git softwares

推荐答案

当Eclipse中的Egit不支持ssh服务器支持的任何芯片时,似乎会抛出此错误.就我而言,SSH服务器被设置为仅接受少量强大的芯片.我在服务器的ssh日志中注意到类似于以下内容的错误:

Egit in Eclipse seems to throw this error when it does not support any of the chipers supported the the ssh server. In my case, the SSH server was set to only accept a handful of strong chipers. I noticed errors similar to the following on the server's ssh logs:

致命的:无法与xx.xx.xx.xx端口12345协商:未找到匹配的密码.他们的报价:aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc

在客户端上出错的原因是因为默认的Java安装不支持任何强大的削片机.由于我们已经在使用webupd8团队ppa来安装我们的Java软件包,因此解决方案是简单地安装 unlimited-jce-policy 软件包.

The reason for the error on the client was because the default Java install did not support any of the strong chipers. Since we were already using the webupd8 team ppa to install our Java packages, the solution was to simply install the unlimited-jce-policy package.

apt install oracle-java8-unlimited-jce-policy

重新启动Eclipse,一切就绪.

Restart Eclipse and you're all set.

这篇关于“算法协商失败";尝试通过SSH连接到个人Git服务器时Eclipse中出现错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆