我想要将我的提交推送到Bitbucket代码库,但出现了以下错误:
Fatal: unable to access
'https://myUsername@bitbucket.org/myUsername/myRepository.git/':
Unknown SSL protocol error in connection to bitbucket.org:443
我想要将我的提交推送到Bitbucket代码库,但出现了以下错误:
Fatal: unable to access
'https://myUsername@bitbucket.org/myUsername/myRepository.git/':
Unknown SSL protocol error in connection to bitbucket.org:443
您可以使用
获取更多信息。# Windows
set GIT_CURL_VERBOSE=1
set GIT_TRACE_PACKET=2
# Unix
export GIT_CURL_VERBOSE=1
export GIT_TRACE_PACKET=2
然后尝试执行 git push
命令。
如果有代理设置,请仔细检查。
注意:git 2.8(2016年3月)对错误35增加了更多信息:
请参见 commit 0054045(由 Shawn Pearce (spearce
) 于 2016年2月14日提交)。
(由 Junio C Hamano -- gitster
-- 合并至 commit 97c49af,2016年2月24日)
remote-curl
: 在SSL连接失败时包含curl_errorstr
对于curl
错误35(CURLE_SSL_CONNECT_ERROR
),用户需要在CURLOPT_ERRORBUFFER
中存储的附加文本来调试为什么连接没有启动。
如果curl_errorstr
不为空,则在消息中包含它,它位于http.c
内部。
另外还要查看该信息的常见原因:
如果之前可以使用,今天却不能使用,可能是BitBucket端的SSL私钥已过期(请参见下面,第3个原因),但这似乎不是此处的情况(证书有效期至2014年12月03日)。
发送以下请求会导致未知的SSL协议错误:
curl --sslv2 https://techstacks-tools.appspot.com/
curl --ciphers ADH-RC4-MD5 https://some_web_site.some_domain.com/
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol,
host
”或“nslookup
”进行验证。
请参见commit 01861cb(由Elia Pinto (
http
:添加支持指定SSL版本
devzero2000
)于2015年8月14日创建)。sunshineco
)。gitster
--合并于commit ed070a4,2015年8月26日)
http.sslVersion
我通过设置以下 git 配置解决了这个问题:
git config --global --add http.sslVersion tlsv1.0
我猜测公司代理服务器不喜欢默认的加密协议。
在许多情况下,这与代理问题有关。如果是这样,请配置您的git代理。
git config --global http.proxy HOST:PORT
我在企业代理后面遇到了这个问题。
解决方法如下:
git config http.sslVerify "false"
这个错误也会在服务器宕机时出现。技术支持的电子邮件上提到:
“我们经历了一次停机,影响了网站的流量,以及通过HTTPS进行的Mercurial和Git流量。但SSH没有受影响。随时查看此页面获取更多信息:
因此,请稍后再试,问题可能会自行解决。对我来说就是这样。
我在使用Android Studio 2.1.3的版本控制时遇到了这个问题,遇到的情况如下:
1- 我打开IDE并单击“更新/拉取”图标(Ctrl + T)
2- 它没有要求输入主密码,而且失败了,给了我这个错误:
Unknown SSL protocol error in connection to bitbucket.org:443
3- 我尝试获取存储库(右键单击> git > 存储库 > 获取)
4- 它要求我输入主密码,我输入了
5- 它尝试获取但一次又一次地失败
6- 我重新启动了Android Studio
7- 我尝试获取存储库(右键单击> git > 存储库 > 获取)
8- 它要求我输入主密码,我输入了
9- 现在一切都正常,所有事情进行得很顺利
结论:
也许Android Studio需要先输入主密码才能执行任何git操作,否则即使稍后询问主密码,它仍然会继续失败,我不知道,这是发生在我的情况
执行
nc -v -z <git-repository> <port>
你的输出应该看起来像这样
"Connection to <git-repository> <port> port [tcp/*] succeeded!"
如果你得到
connect to <git-repository> <port> (tcp) failed: Connection timed out
~/.ssh/config
文件。添加类似以下内容的东西:Host example.com
Port 1234
当我推送大量源代码(近700MB)时,出现了这个错误,然后我尝试部分推送,成功地推送了。
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
,结果发现我们的https代理只接受http,也就是说我们需要https_proxy=http://proxy
(注意:rhs上的http)而不是https_proxy=https://proxy
(注意:rhs上的https)。 - jones77