Quando tento conectar-me a qualquer servidor HTTPS git
, ele apresenta o seguinte erro:
error: gnutls_handshake() failed: A TLS packet with unexpected length was received. while accessing ...
fatal: HTTP request failed
Eu acho que talvez alguns pacotes relacionados gnutls_handshake
tenham sido quebrados. Então, eu quero reinstalar aqueles.
Quais pacotes podem estar relacionados a esses erros? Ou como faço para corrigir esse tipo de erro?
Respostas:
Tenho razão do problema, era
gnutls
pacote. Está trabalhando estranho atrás de um proxy. Masopenssl
está funcionando bem, mesmo em redes fracas. Então solução alternativa é que nós deve compilargit
comopenssl
. Para fazer isso, execute os seguintes comandos:(Lembre-se de substituir
1.7.9.5
pela versão atual do git no seu sistema.)Em seguida, edite o
debian/control
arquivo (execute o comandogksu gedit debian/control
:) e substitua todas as instâncias delibcurl4-gnutls-dev
porlibcurl4-openssl-dev
.Em seguida, crie o pacote (se estiver falhando no teste, você poderá remover a linha
TEST=test
do arquivodebian/rules
):Instale um 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 aqui: https://github.com/xmendez/wfuzz/wiki/PyCurlSSLBug
fonte
Para mim, acabou sendo que o certificado SSL foi autoassinado. Faça uma tentativa
git config --global http.sslVerify false
fonte
git
, removendo sua proteção contra ataques do tipo man-in-the-middle.