您现在的位置是:首页 >技术杂谈 >【计基】【SSH无法连接Github】解决ssh链接github超时/拒绝访问(Pycharm Vscode Git 出现此问题都适用)网站首页技术杂谈
【计基】【SSH无法连接Github】解决ssh链接github超时/拒绝访问(Pycharm Vscode Git 出现此问题都适用)
简介【计基】【SSH无法连接Github】解决ssh链接github超时/拒绝访问(Pycharm Vscode Git 出现此问题都适用)
解决ssh链接github超时/拒绝访问
Git Pycharm 报错ssh: connect to host github.com port 22: Connection refused
解决ssh连接超时
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
本机状态
- 已认证公钥
- 已开启合适代理,可以通过https连接上github服务器
- GithubStatus网页查看,Github服务器未崩溃
ssh -vvv git@github.com
命令查看ssh连接问题
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连接,第一次连接需要确认
如果你不想要后续操作,只需将相应的ssh字段更改为ssh.github.com:443
如
git clone ssh://git@ssh.github.com:443/YOUR-USERNAME/YOUR-REPOSITORY.git
2. 启用通过HTTPS的SSH连接
若上一部分,你收获了相同或类似的回复,则可覆盖你的 SSH 设置来强制与 GitHub.com 的任何连接均通过该服务器和端口运行。
- 打开ssh的config文件
- 添加以下字段
Host github.com
Hostname ssh.github.com
Port 443
User git
这段字段的意思是,当访问github.com
这个域名的时候,自动解析到ssh.github.com:443
- 测试
$ 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
参考文献
以下网页、视频、工具,在不同程度帮助我学习了本文章的内容,在此对提供帮助的技术前辈表示感谢~
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。