RUNBOOK / Git / SSH
git clone TLS 超时:代理变量、CA 与 HTTP 追踪
git clone HTTPS 地址时卡住、报 SSL certificate problem 或 RPC failed。
故障现象与判断依据
最可能原因
先区分 Git 远端不可达、代理设置覆盖和 CA 信任失败;禁止关闭 sslVerify 作为长期方案。
LOGfatal: unable to access 'https://example.invalid/repo.git/':
SSL certificate problem: unable to get local issuer certificate
ssh: connect to host example.invalid port 22: Connection timed out安全诊断
以下命令用于读取状态、验证解析或复现请求;先确认目标主机、权限与影响范围。命令中的占位符必须替换为当前环境的实际值。
READ / VERIFYGIT_CURL_VERBOSE=1 git ls-remote <url>
ssh -vvv -o ConnectTimeout=10 user@host
git config --show-origin --get-regexp 'http.*proxy|http.*ssl'推荐修复步骤
- 1执行 GIT_CURL_VERBOSE=1 git ls-remote <url> 复现。
- 2核对 git config --show-origin --get-regexp 'http.*proxy|http.*ssl'。
- 3修正代理或 CA 后以 git fetch --prune 验证,不重写已有工作树。
验证、限制与回滚
修复后的验证
git ls-remote、git fetch 和 clone 均成功,未关闭证书校验。
风险提示与回滚
不要以关闭证书校验、删除全部缓存、无限重试、关闭防火墙或放宽到 chmod 777 来替代根因定位。任何配置变更前先保留原文件和校验结果;若验证失败,恢复该备份并重新采集日志。
可信来源与适用边界
参考来源Git - git-config Documentation ↗
http proxy and SSL configuration 此页将环境级案例与本 Runbook 的检查步骤分开呈现,不能把示例日志当作当前服务器的真实事件。
网络环境检测
当 DNS、代理链路、海外依赖源或下载超时已通过本页命令确认是网络层问题时,可继续核对独立网络服务;这不替代本地根因修复。
访问边界云官方网站 →具体套餐、价格、可用线路、服务内容及相关规则以官网当前页面为准;不会携带你在工作台输入的命令、日志、Token、IP 或邮箱。