当前位置:   article > 正文

纳尼?github clone出现ssl错误?

http.sslcainfo

在使用git克隆代码的时候,经常会碰到下面的报错信息

SSL certificate problem: unable to get local issuer certificate

解决方法一

看错误信息,大概就知道跟ssl相关。最简单的方法就是在克隆的时候,不去验证ssl,来到命令行(windows的话,就到CMD),输入

git config --global http.sslverify false

重新克隆就OK了。

解决方法二

方法一忽略了ssl,比较简单粗暴,很多人会担心安全问题,这时候就可以采用方法二。这种方法适用于所有的git服务(包括自建的,如常见的gitlab、gogs等),本文以github站点为例

点击浏览器网址左侧的小锁,选择证书

git ssl

来到详细信息,点击下方的复制到文件

git ssl

下一步

git ssl

选择Base64编码

git ssl

填写保存证书文件的位置

git ssl

完成

git ssl

接下来看看git默认使用的证书

使用命令git config --list --show-origin,可以看到http.sslcainfo这个变量的值是C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt,也就是默认的证书存放位置,我们将ca-bundle.crt文件拷贝出来备用

  1. (base) PS D:\Projects> git config --list --show-origin
  2. file:"C:\\ProgramData/Git/config"       core.symlinks=false
  3. file:"C:\\ProgramData/Git/config"       core.autocrlf=true
  4. file:"C:\\ProgramData/Git/config"       core.fscache=true
  5. file:"C:\\ProgramData/Git/config"       color.diff=auto
  6. file:"C:\\ProgramData/Git/config"       color.status=auto
  7. file:"C:\\ProgramData/Git/config"       color.branch=auto
  8. file:"C:\\ProgramData/Git/config"       color.interactive=true
  9. file:"C:\\ProgramData/Git/config"       help.format=html
  10. file:"C:\\ProgramData/Git/config"       rebase.autosquash=true
  11. file:C:/Program Files/Git/mingw64/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
  12. file:C:/Program Files/Git/mingw64/etc/gitconfig http.sslbackend=openssl
  13. file:C:/Program Files/Git/mingw64/etc/gitconfig diff.astextplain.textconv=astextplain
  14. file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
  15. file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
  16. file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.process=git-lfs filter-process
  17. file:C:/Program Files/Git/mingw64/etc/gitconfig filter.lfs.required=true
  18. file:C:/Program Files/Git/mingw64/etc/gitconfig credential.helper=manager

接下来,将从github站点导出的证书文件内容全部拷贝,包括了开头的-----BEGIN CERTIFICATE-----和结尾的-----END CERTIFICATE-----,粘贴到ca-bundle.crt文件的末尾。

可以看到ca-bundle.crt是证书的集合,一个站点一条记录。

然后进行git的配置,将http.sslcainfo指向修改后的ca-bundle.crt文件

git config --global http.sslcainfo C:/Users/Matt/ca-bundle.crt

最后,重新git clone测试一下

  1. (base) PS D:\Projects> git clone https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch.git
  2. Cloning into 'Yolov5_DeepSort_Pytorch'...
  3. remote: Enumerating objects: 39, done.
  4. remote: Counting objects: 100% (39/39), done.
  5. remote: Compressing objects: 100% (30/30), done.
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/208148
推荐阅读
相关标签
  

闽ICP备14008679号