微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GitHub无法访问、443 Operation timed out、OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.co

很长时间没有使用GitHub了,心血来潮将本地的项目传送到GitHub上却发现不能正常工作。花了一上早上将问题解决了,于是将问题解决过程记录一下。

首先出现的问题是Push代码到远程GitHub仓库时,出现如下错误

fatal: unable to access 'https://github.com/xxx/webfast.git/': Failed to connect to github.com port 443: Timed out

这个问题的原因是 ssh的公钥没有配置好。以前使用HTTPS提交代码没有出现这样的问题,上网查了一下发现Github修改了通信安全要求

GitHub 在 2022 年 3 月 15 日通过删除较旧的不安全密钥类型提高了安全性。
从该日期起,不再支持 DSA 密钥 (ssh-dss)。 您无法将新 DSA 密钥添加到您在 GitHub.com 上的个人帐户。
在 2021 年 11 月 2 日之前 valid_after 的 RSA 密钥 (ssh-rsa) 可以继续使用任何签名算法。 在该日期之后生成的 RSA 密钥必须使用 SHA-2 签名算法。 某些较旧的客户端可能需要升级才能使用 SHA-2 签名。

在这几天处理了Gitlab私有项目SSH提交代码的问题,于是找来以前的文档解决如下(我的环境是Windows 10 系统)

找到windows上的公钥和密钥是放在了目录,认是位于c:/用户/<用户名>/.ssh/id_rsa.pub

将其中的密钥复制出来,通过浏览器打开GitHub页面,在用户名下拉菜单找到settings,

在边栏的“Access(访问)”部分中,单击 SSH 和 GPG 密钥。

单击 New SSH key(新 SSH 密钥)或 Add SSH key(添加 SSH 密钥),将刚刚复制出来的密钥粘贴到相应的文本框中。

然后继续Push提交代码到GitHub仓库,但是又发现了如下错误

fatal: unable to access 'https://github.com/xxx/webfast.git/': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 

关于这个问题,使用为Git本身的HTTPS代理导致的,Git支持的协议又三种,即:HTTPS、SSH、SVN、SVN+SSH。

在进行Push时,本应走SSH通道的,但是因为Git本身认设置了HTTPS代理,所以,在进行Push的时候走HTTPS通道了,于是就Push不了。

于是将GitHub仓库的地址改为SSH方式:[email protected]:xxx/webfast.git

之后再Clone/Push代码时,就正常工作了。

参考文章

https://www.cnblogs.com/greentomlee/p/14613993.html 解决 git 上传: Failed to connect to github.com port 443: Timed out

https://docs.github.com/cn/authentication/connecting-to-github-with-ssh 使用 SSH 连接到 GitHub

https://blog.csdn.net/m0_59476515/article/details/125041708 GitHub Clone/Push代码失败 OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 的解决办法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐