我被困在防火墙后面,所以必须使用HTTPS访问我的GitHub存储库。我在Windows XP上使用cygwin 1.7.7。

我试过把遥控器设置为https://username@github.com/username/ExcelANT.git,但按下输入密码的提示,但输入后没有任何反应。 https://username:<密码>github.com/username/ExcelANT.git和克隆空回购从零开始,但每次它给我同样的错误

错误:SSL证书有问题,请检查CA证书是否正确。细节: SSL例程:SSL3_GET_SERVER_CERTIFICATE:访问https://github.com/username/ExcelANT.git/info/refs时证书验证失败

打开GIT_CURL_VERBOSE=1会给我

* About to connect() to github.com port 443 (#0) * Trying 207.97.227.239... * successfully set certificate verify locations: * CAfile: none CApath: /usr/ssl/certs * SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed * Expire cleared * Closing connection #0 * About to connect() to github.com port 443 (#0) * Trying 207.97.227.239... * successfully set certificate verify locations: * CAfile: none CApath: /usr/ssl/certs * SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed * Expire cleared * Closing connection #0 error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/username/ExcelANT.git/info/refs

fatal: HTTP request failed

这是我的防火墙有问题吗,cygwin还是什么?

我没有在Git配置中设置HTTP代理,但是它是一个ISA服务器,需要NTLM身份验证,不是基本的,所以除非有人知道如何强制Git使用NTLM,否则我就完了。


当前回答

注意:关闭SSL验证功能存在安全影响。当您使用Git通过网络传输数据时,它允许中间人攻击。在使用此解决方案之前,请确保您完全理解安全影响。或者更好的方法是安装根证书。

一种方法是禁用SSL CERT验证:

git config --global http.sslVerify false

这将阻止CURL验证HTTPS认证。

仅针对一个存储库:

git config http.sslVerify false

其他回答

我只需要Cygwin和git的证书,所以我做了@esquifit张贴的东西。然而,我不得不手动运行第5步,c_rehash在我的系统上不可用。我遵循了以下指南:将CA证书安装到OpenSSL框架中。

请注意,为了让它工作(RVM安装在CentOS 5.6上),我必须运行以下命令:

出口GIT_SSL_NO_VERIFY = true

在那之后,将RVM安装程序卷曲到bash的标准安装过程工作得很好:)

通过在Windows cmd中暂时禁用GIT/curl ssl验证来改进RouMao的解决方案:

set GIT_SSL_NO_VERIFY=true
git config --global http.proxy http://<your-proxy>:443

这个解决方案的优点是它只在当前cmd窗口中生效。

一个非常简单的解决方案:用git://替换https://

使用git: / /。存储库,而不是https://the.repository,将工作。

我有这个问题在Windows与TortoiseGit和这解决了它。

您可以在终端中尝试此命令:

Git配置——global http。sslVerify假