前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >解决 GitHub 22 端口被占用,改用 443 端口连接

解决 GitHub 22 端口被占用,改用 443 端口连接

作者头像
井九
发布2024-12-21 20:10:14
发布2024-12-21 20:10:14
1.3K00
代码可运行
举报
文章被收录于专栏:四楼没电梯四楼没电梯
运行总次数:0
代码可运行

在使用 git push 或其他 Git 操作时,如果遇到以下错误:

代码语言:javascript
代码运行次数:0
复制
ssh: connect to host github.com port 22: Connection timed out 
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

这是由于默认的 SSH 22 端口被防火墙或网络策略限制,导致无法连接到 GitHub 的服务器。

为了避免这一问题,可以将连接改为 SSH 的 443 端口。以下是详细的解决方法,包括 Windows 和 Linux/Mac 的操作步骤。


Linux/Mac 下操作步骤

1. 修改 SSH 配置文件

SSH 的配置文件通常位于 ~/.ssh/config,如果文件不存在,可以手动创建一个:

代码语言:javascript
代码运行次数:0
复制
touch ~/.ssh/config

打开文件并添加以下内容:

代码语言:javascript
代码运行次数:0
复制
Host github.com
HostName ssh.github.com  # **这是最重要的部分**
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
2. 验证 SSH 配置

配置完成后,通过以下命令测试连接是否正常:

代码语言:javascript
代码运行次数:0
复制
ssh -T git@github.com

如果配置成功,应该看到类似以下输出:

代码语言:javascript
代码运行次数:0
复制
Hi <your-username>! You've successfully authenticated, but GitHub does not provide shell access.
3. 配置 Git 使用新端口

为确保 Git 使用新的 443 端口,可以运行以下命令:

代码语言:javascript
代码运行次数:0
复制
git config --global url."ssh://git@ssh.github.com:443".insteadOf "ssh://git@github.com"

Windows 下操作步骤

1. 找到 SSH 配置文件

在 Windows 下,SSH 配置文件通常位于用户目录的 .ssh 文件夹中(例如:C:\Users\<你的用户名>\.ssh\config)。如果文件不存在,可以手动创建一个:

  1. 打开资源管理器并导航到 C:\Users\<你的用户名>\.ssh
  2. .ssh 文件夹下,新建一个文件,命名为 config(没有扩展名)。
2. 编辑 SSH 配置文件

用记事本或其他文本编辑器打开 config 文件,添加以下内容:

代码语言:javascript
代码运行次数:0
复制
Host github.com
HostName ssh.github.com  # **这是最重要的部分**
User git
Port 443
PreferredAuthentications publickey
IdentityFile C:\Users\<你的用户名>\.ssh\id_rsa

注意:

  • IdentityFile 的路径需要根据你实际存储 SSH 密钥的位置调整,通常是 id_rsaid_ed25519
3. 验证 SSH 配置

打开命令提示符或 PowerShell,运行以下命令测试连接:

代码语言:javascript
代码运行次数:0
复制
ssh -T git@github.com

如果配置正确,你应该看到以下输出:

代码语言:javascript
代码运行次数:0
复制
Hi <your-username>! You've successfully authenticated, but GitHub does not provide shell access.
4. 配置 Git 使用新端口

在命令提示符或 PowerShell 中运行以下命令:

代码语言:javascript
代码运行次数:0
复制
git config --global url."ssh://git@ssh.github.com:443".insteadOf "ssh://git@github.com"

总结

22 端口被占用或限制 时,通过将 SSH 连接切换到 443 端口,即可解决无法访问 GitHub 的问题。这种方法适用于任何操作系统,尤其是在防火墙限制较严的网络环境中。

希望这篇文章能帮助到你,避免因为端口问题中断工作流!🎉

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux/Mac 下操作步骤
    • 1. 修改 SSH 配置文件
    • 2. 验证 SSH 配置
    • 3. 配置 Git 使用新端口
  • Windows 下操作步骤
    • 1. 找到 SSH 配置文件
    • 2. 编辑 SSH 配置文件
    • 3. 验证 SSH 配置
    • 4. 配置 Git 使用新端口
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档