自从我更新到Ubuntu 14.04后,我无法连接到公司的git服务器。它仅使用https和SSL协议。运行时git clone
(或连接到服务器的任何其他git命令),我得到以下输出:
$ git clone https://git.my.company.com/repository.git
Cloning into 'repository'...
fatal: unable to access 'https://git.my.company.com/repository.git': gnutls_handshake() failed: A record packet with illegal version was received.
我在mercurial(同一公司服务器)上遇到了类似的问题,我通过在mercurial配置〜/ .hgrc中禁用TLS协议来“修复”:
[ui]
tls = False
我想我对git有同样的问题,但是我找不到如何为git禁用TLS。
似乎(从错误)git使用gnutls。我尝试使用gnutls-cli
:: 禁用TLS
$ gnutls-cli "NORMAL:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-TLS1.2" git.my.company.com
这适用于建立与服务器的连接。而
$ gnutls-cli "NORMAL:-VERS-SSL3.0" git.my.company.com
给出与git相同的错误: GnuTLS error: A record packet with illegal version was received.
但是,gnutl似乎没有任何配置文件(例如在/ etc /中)存储"NORMAL:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-TLS1.2"
主机名的部分
那么,我如何配置git或gnutls来禁用TLS或强制使用SSL?
注意:我无法修改服务器,ICT工作人员计划升级服务器(这是非常过时的硬件和软件),但由于缺乏可用性(可能)不会很快发生时间...