ssh: connect to host github.com port 22: Connection refused fatal: Could not read from remote repository.
时间: 2025-02-10 15:59:15 浏览: 186
### 解决 SSH 连接 GitHub 被拒问题
当遇到通过端口 22 使用 SSH 连接到 GitHub 遭遇拒绝的情况时,可以考虑以下几个解决方案。
#### 更改默认 SSH 端口号
由于某些网络环境可能封锁了标准的 SSH 端口(即端口 22),因此建议修改 `.ssh/config` 文件来指定不同的端口用于连接到 GitHub。具体操作是在 C 盘根目录下的 .ssh 文件夹内创建或编辑 `config` 文件[^2]:
```bash
Host github.com
Hostname ssh.github.com
Port 443
```
这段配置会使得所有的针对 `github.com` 的请求都转而使用 HTTPS 协议的标准 SSL/TLS 端口 443 来建立 SSH 连接,从而绕过防火墙对于传统 SSH 端口 22 的限制。
#### 检查本地 SSH 密钥设置
如果之前已经生成过 SSH 私钥,则需确认其路径是否正确以及是否有对应的公钥上传到了 GitHub 上。如果没有现成的密钥对,可以通过命令行工具生成新的 RSA 类型私钥并保存至特定位置[^5]:
```bash
ssh-keygen -t rsa -b 4096 -C "[email protected]"
```
执行上述指令后,按照提示完成后续步骤即可自动生成一对新的 SSH 密钥,并将其存储于用户的主目录中的隐藏文件夹 `.ssh` 下面,默认命名为 `id_rsa` 和 `id_rsa.pub`。
接着把新产生的公共部分复制粘贴给 GitHub,在账户的安全选项里添加进去作为授权设备的身份验证凭证之一。
#### 测试与验证连接状态
为了确保一切正常工作,应当尝试利用下面这条简单的测试语句来进行初步诊断:
```bash
ssh -T [email protected]
```
这一步骤能够帮助判断当前计算机上的 SSH 客户端能否成功访问远程仓库服务提供商所提供的 Git 用户账号。如果是首次登录的话,系统可能会询问是否继续连接;此时只需键入 yes 并按回车键同意即可。
另外值得注意的是,有时即使完成了以上所有准备工作仍然会出现权限不足的问题——比如返回 HTTP 403 Forbidden 错误码。这时应该仔细核对自己的用户名和邮箱地址是否匹配所使用的令牌或者密码等认证方式[^3]。
最后提醒一点,假如打算在 VSCode 中经由 SSH 实现远端服务器上运行 Python GUI 应用程序并将界面显示映射回到本机桌面环境中展示出来,那么除了前述提到的各项措施外还需要额外安装 X11 Forwarding 或者其他类似的图形转发机制支持软件包[^4]。
阅读全文
相关推荐












