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

Gitlab使用SSH无法克隆,报22端口连接超时,调整443端口仍无效

GitLab SSH克隆超时问题解决方案

1 端口连通性排查

  • 首先验证目标GitLab实例22端口是否可达,执行命令:
    telnet gitlab.example.com 22
    若返回超时,说明你当前所处的网络(公司防火墙、运营商限制、路由器规则等)屏蔽了SSH默认22端口。
  • 若你尝试过配置SSH走443端口,需先确认对应GitLab服务端是否开启了SSH over HTTPS能力:自建GitLab默认不会开启该配置,仅客户端单独修改端口无法生效。

2 本地SSH配置校验

确认你的本地SSH配置文件(Linux/macOS路径为~/.ssh/config,Windows路径为C:\Users\你的用户名\.ssh\config)内容是否符合规范,正确配置示例如下:

Host gitlab.example.com
  HostName gitlab.example.com
  Port 443
  User git
  IdentityFile ~/.ssh/你生成的SSH私钥文件名

配置保存后执行连通性测试命令:
ssh -T git@gitlab.example.com

  • 若返回权限错误,说明端口已经连通,问题出在密钥配置环节
  • 若仍返回超时,说明443端口的SSH通道也不可用

3 密钥权限与正确性校验

  • 本地私钥文件权限必须为600(Linux/macOS执行chmod 600 ~/.ssh/你的私钥文件名),.ssh目录权限为700,权限过高会导致SSH直接拒绝使用该密钥
  • 确认你上传到GitLab的是.pub后缀的公钥全文,粘贴时没有多余的空格、换行符,也没有误传私钥内容

4 替代方案

如果确认SSH端口全被屏蔽,可以使用HTTPS凭证缓存方案达到和SSH相同的免密使用效果:

  • 全局开启Git凭证缓存:git config --global credential.helper store,首次克隆HTTPS仓库输入账号密码后会永久缓存,后续操作无需重复验证
  • 已通过SSH克隆的本地仓库可以切换远程地址为HTTPS:git remote set-url origin https://gitlab.example.com/你的命名空间/仓库名.git

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:36:06