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方式:git@github.com: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 的解决办法

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/282630.html

(0)
上一篇 2022年8月28日 10:24
下一篇 2022年8月28日 10:24

相关推荐

发表回复

登录后才能评论