Gitlab无法打开git-upload-pack错误

时间:2014-09-26 19:30:12

标签: eclipse egit gitlab

我几个月来一直在使用Gitlab而没有问题。 但是,从昨天开始,我不能再从我的Eclipse IDE“到达”(获取,推送......)Gitlab。

无论我是在我的公司工作(可能是代理问题)还是在家里。

我收到以下错误消息:

https://gitlab.com/XXX/XXX.git: 
    cannot open git-upload-pack
    cannot open git-upload-pack

查看我的Eclipse .log,原因是:

Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at java.net.HttpURLConnection.getResponseCode(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
    at org.eclipse.jgit.transport.http.JDKHttpConnection.getResponseCode(JDKHttpConnection.java:98)
    at org.eclipse.jgit.util.HttpSupport.response(HttpSupport.java:168)
    at org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:460)
    ... 10 more

在我的Eclipse / Git配置中添加http.sslVerify=false没有帮助......

知道为什么会(突然)发生这种情况?

6 个答案:

答案 0 :(得分:6)

我遇到了与另一个Gitlab服务器类似的错误。我挖了它,发现服务器上所有可用的密码至少是256位。标准Oracle Java附带加密,对于某些算法,加密限制为128位。从Oracle安装unlimited strength crypto package后,问题就消失了。

几乎忘了,无限强度套餐只在美国合法使用。如果你在美国之外,我认为OpenJDK会起作用。

答案 1 :(得分:0)

如@jgibson所解释,这似乎与加密算法有关

我没有尝试无限强度加密软件包,但运行带有Java 8.0.25 的Eclipse解决了这个问题。

答案 2 :(得分:0)

啊,这个问题只是这样做了:

<>在eclipse中,转到Windows-&gt; Prefrences-&gt; General-&gt;网络连接 - &gt; SSH

  • 点击标签“密钥管理”
  • 点击生成RSA密钥。
  • 单击“应用” - 将“sha-rsa ...”框中的所有内容复制并粘贴到gitlab-&gt; profilie-add SSH密钥

通过ssh再次尝试克隆。

答案 3 :(得分:0)

对我来说没有帮助以前的帖子,但我能够通过改变Java的安全选项来解决这个问题。在系统设置下,您可以找到“Java控制面板”,其中“安全性”选项卡允许您更改安全级别。

根据您使用的版本,您会看到不同的选项。在将其设置为“低”之后,它对我有用。但在不同的系统上,您可能只有“高”/“非常高”的选项。这取决于安装的Java版本。

答案 4 :(得分:0)

enter image description here

当github关闭时,我得到了相同的错误,这是由于我们的网络管理员的代理设置,然后我再次与另一个互联网提供商github连接正常工作

这解决了我的问题

EGit: cannot push, cannot pull

  1. 将原点更改为我的fork帐户并撤消。
  2. 将原点更改回实际值并拉出。

答案 5 :(得分:0)

我也遇到了问题(克隆了git-repository),但是使用了一个旧的Eclipse JUNO(32位)。建议的解决方案(-Dhttps.protocols=TLSv1.1,TLSv1.2, ssalVerify=false并没有改变。

最后,我了解到必须在对话框中选择“ git:\\” 作为'Protocol' “文件->导入... Git,从git ... URL突出...”

我使用了实际(18.9)版本的Eclipse,我可以按原样使用http-ULR。