1. 程式人生 > 其它 >git clone https:// gnutls_handshake() failed: The TLS connection was non-properly terminated.

git clone https:// gnutls_handshake() failed: The TLS connection was non-properly terminated.

This problem occurred to me especially behind corporate firewall after updating ubuntu to 18.04 LTS. I tried all possible approaches before coming across solution to compile GIT with openssl rather than gnutls. Copy+Pasting below that resolved the problem(Reference link: here)…

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
cd git-2.17.0/


vim debian/control # replace all libcurl4-gnutls-dev with libcurl4-openssl-dev
vim debian/rules # remove line "TEST =test" otherwise it takes longer to build the package

sudo dpkg-buildpackage -rfakeroot -b -uc -us # add "-uc -us" to avoid error "gpg: No secret key"
sudo dpkg -i ../git_2.17.0-1ubuntu1_amd64.deb


Note 1: I got "OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to proxy" when doing "git clone https://..." after steps above, which turns out to be a problem about git proxy setting. It can be fixed by:

git config --global http.proxy http://proxy.server.com:8080
git config --global https.proxy https://proxy.server.com:8080

Note that it's better to verify the proxy & port works well first in browsers like Chrome. Reference link: here.
Note 2: I accidentally removed libcurl4-gnutls-dev when trying different approaches, unfortunately, lots of dependent libs are removed as well, including the network manager and GDM3. As a result, the network can't work any more and the whole display UI was messed up(it switched to lightdm for display manager). I managed to fix the mess with "sudo apt install gdm3". So as a lesson learn, don't remove libcurl4-gnutls-dev for this issue.

原文連結:https://blog.csdn.net/laviolette/article/details/80306178

作者:柒月 出處:https://www.cnblogs.com/Ph-one/ 開源:https://github.com/iqiy/ 站點:https://qiy.net/ Q群 :2122210(嵌入式/機器學習)