【问题标题】:Error setting certificate verify locations - Github设置证书验证位置时出错 - Github
【发布时间】:2018-07-11 09:04:10
【问题描述】:

我在通过 Git Bash 访问 github 存储库时遇到问题。

2 天前,我能够推送/拉取存储库。那么

1) 我在gitlab.com创建了一个帐户

2) 我使用 Windows 上的 git bash

GitLab and SSH keys 之后在本地电脑上生成了 ssh 密钥

3) 在此之后,我没有在 gitlab 上创建/拉取/推送任何存储库。

今天我对代码(部署在 github 上)进行了一些更改,当我尝试推送该代码时出现以下错误

fatal: unable to access 'https://github.com/junaidbinsarfraz/repo.git/': error setting certificate verify locations:
  CAfile: E:/Softwares/Git/mingw64/libexec/ssl/certs/ca-bundle.crt
  CApath: none

libexec

中没有ssl文件夹

自 2017 年 1 月以来,Git 文件夹中的文件/文件夹也没有更改

这似乎是 git-bash 问题,不确定。谁能帮忙?

【问题讨论】:

    标签: git bash ssl github


    【解决方案1】:

    首先,创建 ssh 密钥对 HTTPS 网址没有帮助。
    保留这些密钥,但如果要使用它们,则需要将现有的ssh keys to your github account 然后

     cd /path/to/your/repo
     git remote set-url origin git@github.com:junaidbinsarfraz/repo.git
     git push
    

    其次,关于证书错误,尝试从一个简单的 CMD 推送,使用 a simplified PATH as I do here,所述 PATH 引用 very latest Git for Windows
    为此,将PortableGit-2.16.1-64-bit.7z.exe 解压缩到任何你想要的地方。

    【讨论】:

    • 感谢您的及时回答,我尝试了您的解决方案,但它给了我Permission denied (publickey) fatal: Could not read from remote repository 错误。所以我禁用了 git ssl 验证。
    • @Junaid 这是你自己的仓库吗?您是否已将您的公共 ssh 密钥注册到您的 GitHub 帐户?
    • 是的,这是我自己的仓库。我还有很多其他的存储库,但我从未在我的 Github 帐户上生成任何 ssh 密钥。
    • @Junaid 然后将您的公钥添加到您的 GitHub 帐户,我的答案将起作用:help.github.com/articles/…。只需使用不带密码的 SSH 密钥,即可避免 ssh-agent 的麻烦。
    • 成功了。首先,我将生成的密钥添加到 github 然后git remote set-url origin git@github.com:junaidbinsarfraz/repo.git 并推送。
    【解决方案2】:

    解决方案:

    git config --global http.sslverify "false"
    

    这个命令,然后是你平常的git clone "url" 东西。

    将来拉/推安全存储库可能会造成麻烦。所以禁用风险自负。

    【讨论】:

    • 将来拉/推安全存储库会造成麻烦。所以永远不要禁用 SSL 检查。
    • 对于可能偶然发现这个问题的其他读者来说,重要的是:永远不要禁用 SSL 检查。
    【解决方案3】:

    在 openSUSE 15.2 WSL(适用于 Linux 的 Windows 子系统)上,我通过以下方式修复了此错误:

    sudo update-ca-certificates 
    sudo mkdir -p /etc/pki/tls/certs/
    sudo cp /etc/ssl/ca-bundle.pem /etc/pki/tls/certs/ca-bundle.crt  
    

    /etc/pki/tls/certs/ca-bundle.crt 是错误中提到的证书文件。我注意到文件丢失了。 在我的案例中,完整的错误是:

    fatal: unable to access 'https://github.com/vim/vim.git/': error setting certificate verify locations:
      CAfile: /etc/pki/tls/certs/ca-bundle.crt
      CApath: none
    

    【讨论】:

      【解决方案4】:

      在我的情况下,在 Windows 上,设置 namee mail 以及 git config 的证书路径后它无法正常工作。从命令提示符运行以下命令修复了此问题。

      git config --global http.sslcainfo "C:\Program Files\Git\usr\ssl\certs\ca-bundle.crt"

      ca-bundle.crt 的路径可能因您的情况而异。

      【讨论】:

        【解决方案5】:

        我的一个团队成员带着这个错误来到我的座位上,我发现系统上没有安装 git,这就是他收到这个错误的原因。

        虽然 Microsoft 确实建议为 Windows 安装 Git,但您不必为 Visual Studio 2013 或 2017 安装它,因为同一页面以以下结尾:

        Visual Studio 无需任何额外工具即可提供出色的开箱即用 Git 体验。 在我们的Visual Studio Git tutorial 中了解更多信息。

        Git 是 Visual Studio 2019 的可选组件,您需要手动安装它才能与 Team Foundation Services、GitHub 和 BitBucket 等 Git 服务器一起使用。您可以找到有关此here的更多详细信息

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-06-08
          • 2013-11-10
          • 2011-10-22
          • 2013-02-15
          • 2015-11-17
          • 2015-12-03
          • 2018-04-06
          • 2015-08-24
          相关资源
          最近更新 更多