解决 push 到 GitHub 异常 - 无法连接22端口
- 首发:2023-04-29 19:23:38
- 教程
- 684
在尝试将代码 push 到 GitHub 时,有时候可能会遇到类似于以下的错误信息:
ssh: connect to host xx.xx.xx.xx port 22: Connection timed out
这个错误表明 SSH 连接在尝试通过 22 端口连接到远程服务器时超时。这可能是由于网络环境、防火墙设置或代理配置等原因导致的。为了解决此问题,我们可以尝试将 SSH 连接切换到 443 端口。
修改 SSH 配置以使用端口 443
要将 SSH 连接切换到 443 端口,我们需要在 ~/.ssh/config
文件中添加以下内容:
Host github.com
Hostname ssh.github.com
Port 443
这将使你的 SSH 连接通过 443 端口与 ssh.github.com
进行通信,而不是默认的 22 端口。
如果 ~/.ssh/config
文件不存在,可以手动创建一个。确保在添加配置信息后保存并关闭文件。
测试修改后的 SSH 连接
在修改 SSH 配置后,我们需要测试新的连接设置是否有效。在终端中运行以下命令:
ssh -T git@github.com
如果连接成功,你应该能看到类似于以下的提示信息:
Hi <your-username>! You've successfully authenticated, but GitHub does not provide shell access.
这表明你已经成功通过端口 443 进行 SSH 连接。
验证 push 操作
现在我们已经修改了 SSH 配置并测试了新的连接设置,可以尝试再次将代码 push 到 GitHub。在本地仓库中运行以下命令:
git push origin <branch-name>
将 <branch-name>
替换为你要推送的分支名称。如果一切顺利,你应该能够成功将代码 push 到 GitHub。
总结: 通过修改 SSH 配置并使用 443 端口进行连接,我们成功解决了 "ssh: connect to host xx.xx.xx.xx port 22: Connection timed out" 错误。如果在将来遇到类似问题,可以尝试使用本文提供的方法进行解决。
除特别注明外,本站所有文章均为原创。原创文章均已备案且受著作权保护,未经作者书面授权,请勿转载。
打赏
交流区
暂无内容




由于我使用的方案并不需要“快捷指令”等APP的配合。也无需任何系统权限。因此存在被滥用可能,请大家不要因为此事联系我,谢谢。
直接问AI吧😂
作者老哥,代码不开源。可以大致说一下实现思路吗😕
谢谢,你写的最详细,也很有效的解决了撕裂问题
很棒的教程,比我之前配置ap的方式更优雅