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

公司网络克隆GitHub仓库SSH22端口超时 改443无效如何解决

公司网络下GitHub仓库克隆失败排查方案

首先做基础校验,排除配置不生效的低级问题:

  • 校验SSH配置文件权限
    SSH客户端会严格校验配置文件权限,权限不符合要求时会直接忽略自定义配置。先执行以下命令检查权限:
    ls -ld ~/.ssh
    ls -l ~/.ssh/config
    
    正常输出中,.ssh目录权限应为drwx------(对应权限码700),config文件权限应为-rw-------(对应权限码600)。如果权限不符,依次执行以下命令修复:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/config
    
  • 校验配置匹配规则
    打开~/.ssh/config确认配置块格式正确,Host字段必须严格为github.com,不能带多余前缀后缀,缩进无异常,可补充用户名配置避免识别错误,正确格式如下:
    Host github.com
      Hostname ssh.github.com
      Port 443
      User git
    

完成基础校验后,先测试443端口的SSH连通性,执行命令:

ssh -T git@ssh.github.com -p 443
  • 如果命令返回Hi xxx! You've successfully authenticated...的提示,说明SSH链路连通,重新执行克隆命令即可。
  • 如果依然提示连接超时,说明公司防火墙不止拦截22端口,还对443端口上的SSH协议做了特征识别拦截,SSH over 443方案在当前网络下不可用,改用以下方案:

方案1:改用HTTPS协议克隆(兼容性最高)

公司网络一般不会拦截443端口的正常HTTPS流量,直接将克隆地址从SSH格式替换为HTTPS格式即可:

git clone https://github.com/master/migration.git

如果不想每次推送拉取都输入凭据,执行以下命令开启凭据存储:

git config --global credential.helper store

首次认证时密码字段填写GitHub个人访问令牌即可,后续操作会自动读取凭据无需重复输入。

方案2:配置Git走公司代理

如果HTTPS直连GitHub也被拦截,联系公司IT部门获取内网HTTP代理地址,拿到后执行以下命令配置Git全局代理:

git config --global http.proxy http://代理地址:代理端口
git config --global https.proxy http://代理地址:代理端口

如果代理需要账号认证,代理地址格式改为http://代理账号:代理密码@代理地址:代理端口即可。

方案3:排查DNS解析异常

如果以上操作都无效,先执行nslookup github.com和nslookup ssh.github.com看返回的IP地址是否异常,若返回内网保留地址或者解析超时,可以手动将公共DNS(如114.114.114.114、223.5.5.5)加到本机网络配置中,或者直接查询两个域名的公网可达IP,写入本机hosts文件后重试。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:39:38