解决GitHub上传或连接ssh: connect to host github.com port 22: Connection timed out
AI-摘要
切换
Tianli GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
解决GitHub上传或连接ssh: connect to host github.com port 22: Connection timed out
米粒问题的前世今生
最近想重新做一下博客的自动工作流,但是发现GitHub上传出现22端口被拒绝的问题,害得我搞了好久才解决这个问题,其实这个问题并不是很复杂,试了网上的很多方法,大部分都解决不了我的这个问题,所以记录一下,以防以后再次遇到这个问题。
问题分析
报错代码如下:
1 | ssh: connect to host github.com port 22: Connection timed out |
其实这个问题的原因很简单,就是因为GitHub的22端口被禁用了,所以我们可以使用443端口来上传,这里就需要对config
文件进行修改,网上有很多配置方法,但是我用了没有效果,所以我就自己写了一个。
方案一:修改hosts文件(推荐)
本方案也可以解决GitHub Copilot 连接失败的问题,报错代码如下:
1 | GitHub Copilot could not connect to server. Extension activation failed: "connect ETIMEDOUT 20.205.243.168:443 |
环境配置
下载SwitchHosts工具。
安装并运行软件
点击
+
新建hosts文件具体配置如下;
配置项 | 填写值 |
---|---|
hosts类型 | 远程 |
hosts标题 | 随便写一个自己能区分的名称 |
URL | https://raw.hellogithub.com/hosts |
自动刷新 | 最好选择1小时 |
注意:这里配置完后,需要点击刷新按钮获取最新的hosts文件配置
点击右侧的开关按钮,使其配置写入hosts文件
重新连接github
打开cmd窗口,输入下面的代码,刷新一下CDN
1 | ipconfig /flushdns |
然后我们就可以重新连接github了,输入以下命令:
1 | ssh -T git@github.com |
如果出现以下内容,就说明连接成功了:
1 | Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. |
方案二:修改config文件使用GitHub的443端口(不推荐)
首先我们需要找到config
文件,我的在C:\Users\用户名\.ssh
目录下,如果没有就自己创建一个,然后在里面写入以下内容:
1 | Host github.com |
重新连接github
打开cmd窗口,输入下面的代码,刷新一下CDN
1 | ipconfig /flushdns |
然后我们就可以重新连接github了,输入以下命令:
1 | ssh -T git@github.com |
如果出现以下内容,就说明连接成功了:
1 | Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果