Ubuntu实例Git与apt-get更新失败及证书权限问题求助
解决方案
1. 先排查基础网络连通性
多个工具同时失效,优先确认网络底层问题:
- 执行
ping 8.8.8.8:如果不通,说明实例网络链路(网卡、路由、安全组/防火墙)存在出站限制,联系运维检查网络配置。 - 若IP能ping通但域名(如
ping github.com)失败,检查DNS配置:
临时替换DNS为cat /etc/resolv.confnameserver 8.8.8.8再测试。
2. 修复系统根证书(针对Let's Encrypt信任问题)
Ubuntu 16.04默认ca-certificates可能缺少Let's Encrypt的ISRG Root X1根证书:
- 重装证书包(若能访问内网源或临时网络):
sudo apt-get update && sudo apt-get install --reinstall ca-certificates - 手动添加根证书(从正常机器拷贝
ISRG-Root-X1.pem到实例后):sudo cp ISRG-Root-X1.pem /usr/local/share/ca-certificates/ sudo update-ca-certificates - 恢复Git的SSL验证(全局禁用存在安全风险):
git config --global --unset http.sslverify
3. 解决Git 403错误
网络和证书修复后仍出现403,检查以下内容:
- 确认远程仓库URL正确:
git remote -v - 验证Git凭证(私有库需用户名/密码、个人访问令牌或SSH密钥)是否有效,凭证过期或权限变更会导致403
- 重新设置HTTPS凭证存储:
再次执行git config --global credential.helper storegit fetch --all时输入有效凭证。
4. 修复apt-get更新故障
- 检查源配置:查看
/etc/apt/sources.list和/etc/apt/sources.list.d/下的文件,确认源地址可达,必要时切换为公司内网源或国内镜像。 - 清理缓存后重试:
sudo apt-get clean sudo apt-get update - 若HTTPS源仍报错,确保第二步的证书问题已解决,或联系运维确认源服务器权限。
5. 排查系统代理与防火墙
- 检查是否设置了代理:
echo $http_proxy $https_proxy,若代理失效,临时取消:unset http_proxy https_proxy - 检查防火墙规则:
sudo ufw status(若使用ufw),确认允许出站的443(HTTPS)、80(HTTP)、ICMP(ping)流量。
内容的提问来源于stack exchange,提问作者David Cheung
相关产品推荐
相关产品推荐

