升级到 Fedora 27 后,我无法再使用 https 克隆 url,ssh 工作正常。错误是:
致命:无法访问'https://repo-url': SSL 证书问题:无法获取本地颁发者证书
我没有更改任何内容,我的 /etc/pki 目录几乎与仍在使用 F26 的朋友的目录相同。
我已经尝试过:
- 重新安装 git (2.14.3-2.fc27)
- 重新安装 ca 证书 (2017.2.16-4.fc27)
- 将 git 选项 sslCaInfo 设置为 /etc/pki/tls/cert.pem
还有其他想法吗?
答案1
以下是我的想法(我建议在每个步骤后重试,以便在问题解决后可以停止):
- 重新安装 git-core (因为它包含相关组件:
/usr/libexec/git-core/git-remote-https
。我使用了strace
和dnf provides
来找到它) - 重新安装ca证书(应该是2017.2.16版本)
- 转到
/etc/pki/ca-trust/extracted/pem
并重命名该文件tls-ca-bundle.pem
。 (警告:这会暂时破坏您的大部分 SSL 内容,请记住稍后将其重命名回原始名称。)您的输出是否发生git clone
变化?对我来说,它是这样写的:fatal: unable to access 'https://github.com/some_git': error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none
- 找到 git 依赖的所有软件包
sudo dnf repoquery --requires --resolve git
(这可能需要一些时间)并重新安装它们。
答案2
错误来自另一端(repo-url
)。您不需要任何证书。
网络repo
服务器配置错误(链证书中的顺序通常错误,或者只是类型错误)。它尝试获取自己的证书,以初始化 SSL 连接,但失败,并返回此类错误。只是git
从服务器写出错误,因此令人困惑的“本地”不是您的观点。