水莹儿 发表于 2018-1-11 17:30:22

通过SourceTree连接SSL有问题的自建gitlab服务器

  我用的是 SourceTree 作为Git客户端的,用它连接一个HTTPS证书过期的自建git服务,会收到下面错误:
  abort: error: _ssl.c:507: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
  fatal: repository 'https://****/guohongjun/mytest/' not found
  Error validating server certificate for 'https://****:443':
  - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually!
  - The certificate hostname does not match.
  - The certificate has expired.
  Certificate information:
  - Hostname: *****
  - Valid: from Thu, 12 Sep 2013 01:59:22 GMT until Fri, 12 Sep 2014 01:59:22 GMT
  - Issuer: http://certs.godaddy.com/repository/, GoDaddy.com, Inc., Scottsdale, Arizona, US
  - Fingerprint: a4:e0:66:ca:ba*******
  (R)eject, accept (t)emporarily or accept (p)ermanently? svn: E175002: Unable to connect to a repository at URL 'https://******/guohongjun/mytest'
  svn: E175002: OPTIONS of 'https://*****/guohongjun/mytest': Server certificate verification failed: certificate has expired, certificate issued for a different hostname, issuer is not trusted (https://*****)
  这是因为 SourceTree 新建仓库时,在 从URL 克隆时, 会去校验 ssl,如下图:
https://images0.cnblogs.com/blog/120296/201508/121646164107204.png
https://images0.cnblogs.com/blog/120296/201508/121646188013573.png
https://images0.cnblogs.com/blog/120296/201508/121646207709471.png
  就是你在设置中设置了“禁止SSL校验也不行”
https://images0.cnblogs.com/blog/120296/201508/121646241452141.png
  解决方案, 用命令行 clone 项目,然后通过添加已存在的本地仓库来使用。
  Git 全局设置
git config --global user.name "郭红俊"  
git config --global user.email guohongjun@***。**
  

  创建仓库,并更新到远程服务器
mkdir mytest01  
cd mytest01
  
git init
  
touch README
  
git add README
  
git commit -m 'first commit'
  
git remote add origin http://*****/guohongjun/mytest01.git
  
git push -u origin master
  

  Existing Git Repo   存在本地 Git Repo
cd existing_git_repo  
git remote add origin http://118.194.63.8/guohongjun/mytest01.git
  
git push -u origin master
在做远程服务器提交之前,需要执行下面命令,禁用SSL校验  

  git config --global http.sslVerify false

  准备好本地库相关
https://images0.cnblogs.com/blog/120296/201508/121646270201896.png
  提交到远程服务器
https://images0.cnblogs.com/blog/120296/201508/121646291141524.png
  这时候,我们通过 新仓库 - 新建本地已经存在的仓库 方式就可以增加了。
https://images0.cnblogs.com/blog/120296/201508/121646312857893.png
页: [1]
查看完整版本: 通过SourceTree连接SSL有问题的自建gitlab服务器