首先你在本地或服务器git clone了一套代码,或者是clone了自己的代码准备更新,更新过内容后,你想用git push origin main这个命令,将本地代码推送到github上,结果报错gnutls_handshake() failed: The TLS connection was non-properly terminated。
我首先检查了一下自己的命令,没有错,通过了git add . 也进行了git commit -m "update",最后用了git push origin main,第一次push的时候还好使,第二次就报错了。
短暂解决方案
在命令行中输入这个命令,更新。但这种方法无法解决根本问题,第二天又不行了。
sudo apt-get update
靠谱解决方案——配置ssh
- 首先检查服务器是否有ssh密钥,如果有,在~/.ssh/目录下可以看到id_rsa和id_rsa.pub,其中id_rsa.pub是公钥。如果没有通过以下命令生成,生成后可以在~/.ssh/目录下看到id_rsa和id_rsa.pub。
ssh-keygen -t rsa -C "youremail@example.com"
- 将id_rsa.pub文件中的内容复制到github。找到github的settings,找到ssh and GPG keys,创建一个新的ssh key,将从id_rsa.pub文件中复制的内容,粘贴到刚刚创建的ssh key中。
- 回到系统命令行中用该命令测试
ssh -T git@github.com
如果出现这个结果就说明成功了,如果出现其他的,没连上之类的,可能是ssh key有问题
-
重新设置远程仓库的ssh连接,再push就成功了文章来源:https://www.toymoban.com/news/detail-847951.html
git remote rm origin git remote add origin git@github.com:your_username/your_repository_name.git git push origin main
记录自己踩过的坑,下次迈过去就好啦~文章来源地址https://www.toymoban.com/news/detail-847951.html
到了这里,关于git push报错:gnutls_handshake() failed: The TLS connection was non-properly terminated的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!