“erro: gnutls_handshake () falhou” ao conectar-se a servidores https

49

Quando tento me conectar a qualquer servidor HTTPS com git , ocorre o seguinte erro:

error: gnutls_handshake() failed: A TLS packet with unexpected length was received. while accessing ...
fatal: HTTP request failed

Acho que talvez alguns pacotes relacionados a gnutls_handshake tenham sido corrompidos. Então, eu quero reinstalar esses.

Quais pacotes podem ser relacionados a esses erros? Ou como eu corrijo esse tipo de erro?

    
por Nyambaa 12.09.2012 / 07:43

2 respostas

84

Por causa do problema, foi gnutls package. Está funcionando estranho atrás de um proxy. Mas openssl está funcionando bem, mesmo em redes fracas. Portanto, a solução alternativa é que devemos compilar git com openssl . Para fazer isso, execute os seguintes comandos:

sudo apt-get update
sudo apt-get install build-essential fakeroot dpkg-dev libcurl4-openssl-dev
sudo apt-get build-dep git
mkdir ~/git-openssl
cd ~/git-openssl
apt-get source git
dpkg-source -x git_1.7.9.5-1.dsc
cd git-1.7.9.5

(Lembre-se de substituir 1.7.9.5 pela versão atual do git no seu sistema.)

Em seguida, edite o arquivo debian/control (execute o comando: gksu gedit debian/control ) e substitua todas as instâncias de libcurl4-gnutls-dev por libcurl4-openssl-dev .

Em seguida, construa o pacote (se estiver falhando no teste, você pode remover a linha TEST=test do arquivo debian/rules ):

sudo dpkg-buildpackage -rfakeroot -b

Instalar novo pacote:

i386: sudo dpkg -i ../git_1.7.9.5-1_i386.deb

x86_64: sudo dpkg -i ../git_1.7.9.5-1_amd64.deb

Inspirado a partir daqui: link

    
por Nyambaa 13.09.2012 / 05:34
1

Para mim, acabou sendo o certificado SSL auto-assinado. Experimente:

git config --global http.sslVerify false

    
por Rick 26.02.2018 / 00:15

Tags