You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2及Virtual Box中SSH连接GitHub失败求助

GitHub SSH 端口22连接超时问题解决方案

问题概况

在Windows 11的WSL2(Ubuntu 22.04)和Oracle VirtualBox(Ubuntu 18.04)环境中,执行ssh -vT git@github.com时出现端口22连接超时,仅能通过ssh://git@ssh.github.com:443/Mtsumi/AirBnB_clone_v2.git格式的地址克隆仓库。

解决步骤

1. 配置SSH强制使用443端口连接GitHub

这是最直接的适配方案,利用GitHub提供的443端口SSH服务:

  • 编辑(或新建)用户目录下的SSH配置文件:
    nano ~/.ssh/config
    
  • 添加以下配置内容:
    Host github.com
      Hostname ssh.github.com
      Port 443
      User git
    
  • 保存退出后,重新测试连接:
    ssh -vT git@github.com
    
    此时SSH会自动转向ssh.github.com的443端口,验证是否能成功建立连接。

2. 排查网络与防火墙限制

  • 检查Windows防火墙或第三方安全软件规则,确认未拦截出站的SSH(端口22)请求
  • 若使用网络代理,确认代理策略允许访问GitHub的IP段,或在SSH配置中添加代理适配规则(例如ProxyCommand)

3. 验证SSH密钥有效性

  • 分别在WSL2和虚拟机中,检查~/.ssh/id_rsa.pub的内容是否已添加至GitHub账户的SSH密钥列表
  • 执行ssh-add ~/.ssh/id_rsa,确保密钥被加载到ssh-agent进程中(若密钥设置了密码,需输入对应密码)

4. 重置SSH客户端配置(可选)

若怀疑是SSH全局配置异常导致:

  • 备份当前配置:
    sudo cp /etc/ssh/ssh_config /etc/ssh/ssh_config.bak
    
  • 重置为默认配置(以Ubuntu为例):
    sudo apt remove --purge openssh-client && sudo apt install openssh-client
    

问题原因分析

多数情况下是网络环境变更导致:比如ISP屏蔽了22端口、本地网络策略调整,或者虚拟机/WSL2的网络路由规则异常。而443端口作为HTTPS默认端口,通常不会被严格限制,因此可以正常连接。

内容的提问来源于stack exchange,提问作者Aly Mtsumi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 21:35:17