🔧 解决 GitHub SSH 22端口连接问题
当遇到GitHub SSH 22端口被占用时,如何优雅地切换到443端口继续工作
🔧 解决 GitHub SSH 22端口连接问题
在日常开发中,我们可能会遇到 GitHub SSH 连接失败的情况。最常见的原因之一是默认的 22 端口被防火墙或网络策略限制。本文将介绍如何通过切换到 443 端口来解决这个问题。
🔍 问题表现
当你执行 git push 或其他 Git 操作时,可能会遇到22端口无法访问或者22端口访问速度过慢的问题。
💡 解决方案
Linux/Mac 用户操作步骤
- 修改 SSH 配置文件
~/.ssh/config
1 2 3 4 5 6 7
# 添加以下配置 Host github.com HostName ssh.github.com User git Port 443 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa
- 验证配置
1
ssh -T [email protected]
- 配置 Git 使用新端口
1
git config --global url."ssh://[email protected]:443".insteadOf "ssh://[email protected]"
Windows 用户操作步骤
- 创建/编辑 SSH 配置文件
- 路径:
C:\Users\<你的用户名>\.ssh\config
- 添加与 Linux/Mac 相同的配置内容,注意修改 IdentityFile 路径
- 路径:
- 验证配置
1
ssh -T [email protected]
- 配置 Git 使用新端口
1
git config --global url."ssh://[email protected]:443".insteadOf "ssh://[email protected]"
✨ 验证成功
当你看到以下提示时,说明配置已经成功:
1
Hi <your-username>! You've successfully authenticated, but GitHub does not provide shell access.
📝 小贴士
- 确保你的 SSH 密钥已经正确配置并添加到 GitHub 账户
- 如果使用的是其他 SSH 密钥文件名,记得修改配置中的 IdentityFile 路径
- 这个方法同样适用于其他因防火墙限制导致的 SSH 连接问题
通过以上配置,你就可以继续愉快地使用 Git 进行开发工作了。这个解决方案特别适合在企业网络环境或防火墙限制较严格的网络中使用。
🌐 使用代理加速
如果你的网络环境需要使用代理,可以通过以下方式配置Git的代理设置:
HTTP/HTTPS 代理设置【🌟推荐】
1
2
3
4
5
6
7
8
# 设置 HTTP 代理
git config --global http.proxy socks5://127.0.0.1:port
# 设置 HTTPS 代理
git config --global https.proxy socks5://127.0.0.1:port
# 设置大文件传输缓冲区(如果遇到大文件传输问题)
git config --global http.postBuffer 1048576000
SSH 代理设置【可修改为443端口后使用http代理】
如果使用 SSH 协议,可以在 ~/.ssh/config
文件中添加以下配置:
1
2
3
# 为 GitHub 设置代理
Host github.com
ProxyCommand nc -X 5 -x 127.0.0.1:port %h %p
注意:
- 将
port
替换为你的实际代理端口 - Windows 用户可能需要使用
connect
或其他工具替代nc
命令 - 如果不再需要代理,可以使用
git config --global --unset http.proxy
和git config --global --unset https.proxy
移除代理设置
本文由作者按照
CC BY 4.0
进行授权