You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

GitLab远程推送失败:SSH端口22/443连接被拒绝求助

排查GitLab SSH推送失败(端口22连接被拒)的可行方案

我来帮你一步步梳理排查方向,毕竟共享服务器的网络环境经常会有一些容易忽略的限制:

  • 先测试不同端口的连通性
    GitLab支持通过443端口走SSH协议,很多共享服务器的防火墙会放行443但限制22端口出站。你可以先执行这两个命令对比结果:

    ssh -T git@gitlab.com -p 22
    ssh -T git@gitlab.com -p 443
    

    如果443端口能正常返回Welcome to GitLab, @你的用户名!,说明服务器22端口出站被限制了。这时候可以修改SSH配置默认用443连接GitLab:
    ~/.ssh/config文件(没有的话直接新建)里添加:

    Host gitlab.com
      Hostname altssh.gitlab.com
      User git
      Port 443
    

    保存后再尝试推送,大概率能解决问题。

  • 对比GitHub与GitLab的网络连通性
    既然其他用户连GitHub 22端口没问题,你可以用telnet命令做个对比测试:

    telnet github.com 22
    telnet gitlab.com 22
    

    如果GitHub能返回SSH服务的欢迎信息,而GitLab直接显示Connection refused,基本可以确定是共享服务器的出站防火墙/安全组单独限制了GitLab的22端口访问。这种情况你需要联系服务器管理员,确认是否有针对GitLab IP段的拦截规则。

  • 快速检查本地SSH配置与密钥状态
    虽然你之前操作正常,但也可以快速排除本地问题:

    1. 执行ssh-add -l,确认你的SSH密钥是否在本地代理中正常加载
    2. 检查~/.ssh/config里有没有针对gitlab.com的错误配置(比如写错主机名或端口)
    3. 登录GitLab账户,确认你的公钥是否还在「SSH密钥」列表中,有没有被误删除
  • 确认GitLab服务状态
    偶尔GitLab的22端口服务会出现临时故障,你可以查看GitLab官方的状态页面,确认是否有相关的服务中断公告。

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

火山引擎 最新活动