我被困在防火墙后面,所以必须使用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,否则我就完了。


当前回答

尝试使用.netrc文件,它将通过https进行身份验证。在你的主目录中创建一个名为.netrc的文件,并把它放在里面:

machine github.com login myusername password mypass

更多信息请看这篇文章:

https://plus.google.com/u/0/104462765626035447305/posts/WbwD4zcm2fj

其他回答

我知道最初的问题列出了Cygwin,但这是CentOS的解决方案:

curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt

来源:http://eric.lubow.org/2011/security/fixing-centos-root-certificate-authority-issues/

最流行的答案(Alexey Vishentsev)是这样的:

问题是您没有任何认证机构 系统上已安装的证书。这些证书是不可能的 使用cygwin的setup.exe安装。

然而,最后一个断言是错误的(现在是,还是一直是,我不知道)。

你所要做的就是进入cygwin设置并包含'ca-certificates'包(它在Net下)。这招对我很管用。

我有一份粗糙的PI

pi@raspbmc:~$ git克隆http: //github.com/andreafabrizi/Dropbox-Uploader .git 克隆到'Dropbox-Uploader'… 错误:SSL CA证书(路径?),同时访问http:// github.com/andreafabrizi/Dropbox-Uploader.git/info/refs fatal: HTTP请求失败

所以id a

sudo apt-get install ca-certificates

then

git clone http://github.com/andreafabrizi/Dropbox-Uploader.git  

工作

我在Solaris Express 11上也遇到过同样的问题。我花了一些时间,但我设法找到了需要放置证书的地方。根据“/etc/openssl/openssl.cnf”,证书路径为“/etc/openssl/certs”我放置了使用Alexey的上述建议生成的证书。

你可以在命令行上使用openssl验证事情是否正常工作:

openssl s_client -connect github.com:443

设置SSL验证为false时在windows上克隆:

    git -c http.sslVerify=false clone http://example.com/e.git

如果你想克隆而不无聊你的全局设置。