天天看点

git clone ssl gitlab地址报Peer’s Certificate issuer is not recognized的解决方案

拉取gitlab上的代码时,报了如下错误:

[[email protected] proj_build_deploy]$ git clone https://my.david.com/bigData/demo.git
Cloning into 'demo'...
fatal: unable to access 'https://my.david.com/bigData/demo.git': Peer's Certificate issuer is not recognized.
           

分析:

由于访问的是安全套接字(ssl)类型的url地址,需要配置相应的证书才行。

本地测试是,可以使用不安全的方式连接至gitlab。

方案1:

vim /etc/profile

# 添加如下代码
export GIT_SSL_NO_VERIFY=true

# 然后
source /etc/profile
           

方案2:

通过对项目或git环境全局设置不做ssl校验:

git config http.sslVerify "false"
git config --global http.sslVerify false
           

如果git pull 每次都要求输入用户名和密码,则可以执行如下配置

git config credential.helper store

执行完后,查看git的config文件,看到密码记录属性被添加进来了。

[[email protected] proj_build_deploy]$ cat .git/config 
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "origin"]
	url = https://my.david.com/bigData/demo.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
[credential]
	helper = store
           

此时,再次执行 git pull 之后,再输入一次用户名、密码后,下次再执行就不会提示输入账户信息了。