通过SSH执行git clone操作长时间卡住无法完成如何解决?
Git SSH克隆仓库卡住故障排查
故障原因及对应解决方法
- 原因1:网络运营商/本地防火墙屏蔽了GitHub SSH服务的22端口
解决方法:配置SSH使用GitHub开放的443端口进行连接:- 编辑本地
~/.ssh/config文件,新增以下配置:
Host github.com Hostname ssh.github.com Port 443 User git- 执行
ssh -T git@github.com验证连通性,出现认证成功提示后重新执行克隆命令即可。
- 编辑本地
- 原因2:SSH密钥文件权限不符合安全校验规则(仅适用于Linux/macOS系统)
解决方法:执行以下命令修正权限后重试克隆:chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub - 原因3:本地代理配置冲突,SSH流量未正确走代理或被代理拦截
解决方法:- 无需代理的场景:检查
~/.ssh/config、系统环境变量中是否有误配置的SSH代理规则,删除后重试 - 需要代理的场景:在
~/.ssh/config中新增对应代理规则,示例如下:
需将示例中的IP、端口替换为你实际的代理地址。# Socks5代理配置 Host github.com ProxyCommand nc -v -x 127.0.0.1:1080 %h %p # HTTP代理配置 Host github.com ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=8080 - 无需代理的场景:检查
- 原因4:目标仓库访问权限不足或仓库地址拼写错误
解决方法:- 核对克隆命令中的仓库地址拼写,确认仓库处于公开状态或你已被加入组织的仓库访问白名单
- 执行
ssh -T git@github.com验证你的账号SSH连接状态正常,排除账号侧授权问题
临时替代方案
如果需要快速完成克隆,可临时切换为HTTPS协议执行克隆:git clone https://github.com/someorg/my-repo.git
内容的提问来源于stack exchange,提问作者I.conic
相关产品推荐
相关产品推荐

