您现在的位置是:首页 >技术杂谈 >【计基】【SSH无法连接Github】解决ssh链接github超时/拒绝访问(Pycharm Vscode Git 出现此问题都适用)网站首页技术杂谈

【计基】【SSH无法连接Github】解决ssh链接github超时/拒绝访问(Pycharm Vscode Git 出现此问题都适用)

Cloud_Air754 2025-03-23 12:01:02
简介【计基】【SSH无法连接Github】解决ssh链接github超时/拒绝访问(Pycharm Vscode Git 出现此问题都适用)

解决ssh链接github超时/拒绝访问

Git Pycharm 报错ssh: connect to host github.com port 22: Connection refused

1. 情况再现

近来在某西部城市出差,可能是网络配置问题,导致无法通过ssh连接到GitHub服务器(Https可以正常连接)。尝试使用ssh -T git@github.com命令无法获得预期结果,且github官方后台未见ssh连接报文,考虑可能是存在FW阻断22端口。

$ ssh -T git@github.com
Connection closed by 140.82.116.4 port 22

本机状态

  1. 已认证公钥
  2. 已开启合适代理,可以通过https连接上github服务器
  3. GithubStatus网页查看,Github服务器未崩溃
  4. ssh -vvv git@github.com 命令查看ssh连接问题
    SSH无法连接GITHUB

2. 解决问题

1. 测试HTTPS端口

有时,防火墙会完全拒绝允许 SSH 连接;此时可以尝试使用通过 HTTPS 端口建立的 SSH 连接克隆。
运行以下命令

$ ssh -T -p 443 git@ssh.github.com

若显示

# Hi {USERNAME}! You've successfully authenticated, but GitHub does not
# provide shell access.

则证明可以通过https连接,第一次连接需要确认
使用443端口通讯

如果你不想要后续操作,只需将相应的ssh字段更改为ssh.github.com:443

git clone ssh://git@ssh.github.com:443/YOUR-USERNAME/YOUR-REPOSITORY.git

2. 启用通过HTTPS的SSH连接

若上一部分,你收获了相同或类似的回复,则可覆盖你的 SSH 设置来强制与 GitHub.com 的任何连接均通过该服务器和端口运行。

  1. 打开ssh的config文件
    修改config文件
  2. 添加以下字段
Host github.com
    Hostname ssh.github.com
    Port 443
    User git

这段字段的意思是,当访问github.com这个域名的时候,自动解析到ssh.github.com:443

  1. 测试
    $ ssh -T git@github.com
    测试连接

git常用操作再复习

1. 设定远程地址相关

git remote -v git remote set-url origin 新的URL地址
git remote add origin URL地址

2. 拉取和推送

git pull origin main git push origin main

参考文献

以下网页、视频、工具,在不同程度帮助我学习了本文章的内容,在此对提供帮助的技术前辈表示感谢~

  1. SSH 故障排除
  2. 在 HTTPS 端口使用 SSH
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。