Desde a minha atualização para o Ubuntu 14.04, não consigo conectar-me ao servidor git da empresa. Ele usa https apenas com os protocolos SSL. Ao executar git clone(ou qualquer outro comando git que se conecte ao servidor), recebo a seguinte saída:

$ 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.

Eu tive um problema semelhante com o mercurial (mesmo servidor da empresa), que 'consertei' desabilitando os protocolos TLS na configuração mercurial ~ / .hgrc:

[ui]
tls = False

Suponho que tenho o mesmo problema com o git, mas não consigo descobrir como desativar o TLS para o git.

Como parece (pelo erro) que gnutls é usado pelo git. Tentei desativar o TLS usando gnutls-cli:

$ gnutls-cli "NORMAL:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-TLS1.2" git.my.company.com

Isso funciona para estabelecer uma conexão com o servidor. Enquanto que

$ gnutls-cli "NORMAL:-VERS-SSL3.0" git.my.company.com

dá o mesmo erro que o git: GnuTLS error: A record packet with illegal version was received.

Mas, parece não haver nenhum arquivo de configuração (por exemplo, em / etc /) para o gnutls armazenar a "NORMAL:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-TLS1.2"parte do nome do host

Então, como posso configurar o git ou gnutls para desativar o TLS ou forçar o uso do SSL?

Nota: Não consigo modificar o servidor, a equipe de ICT planeja atualizar o servidor (é bastante desatualizado em termos de hardware e software), mas isso (provavelmente) não acontecerá em breve devido à falta de disponibilidade Tempo...

Veger
fonte