我正在进行的项目的系统管理员已经确定SSH"太麻烦"了; 相反,他已将Git设置为可通过https://URL(以及用户名/密码身份验证)访问.此URL的服务器提供自签名证书,因此他建议所有人关闭证书验证.这并不是一个好的设置,安全方面.
是否有可能告诉Git对于远程X(或者更好的是,任何存储库中的任何远程开头都是https://$SERVERNAME/),它是接受特定证书,只接受该证书?基本上重复了SSH的服务器密钥行为.
是否可以将git配置为仅针对特定域使用代理?
我想使用我们的公司代理来访问Github,但是不能访问我们自己的内部git存储库.
我正在使用凉亭,它需要在我们的防火墙和github上都需要物品,所以我不能将它作为每个项目设置.它需要是某种全局配置选项.有什么想法吗?
我刚刚在其中创建了一个github帐户和一个存储库,但在尝试使用推荐URL创建本地工作副本时
git clone https://github.com/<user>/<project>.git
Run Code Online (Sandbox Code Playgroud)
我得到一个错误
致命:无法访问' https://github.com/<user>/<project>.git ':服务器证书验证失败.CAfile:/home/<user>/.ssl/trusted.pem CRLfile:none
我在Debian Jessie,我本来希望Debian和GitHub都能提供/依赖一系列普遍接受的CA,但显然我的系统不信任GibHub的证书.
任何简单的方法来解决这个问题(没有经常推荐的"GIT_SSL_NO_VERIFY = true"黑客和类似的解决办法)?
编辑:
附加信息:
删除〜/ .ssl/trusted.pem时,git错误消息将更改为
fatal: unable to access 'https://github.com/tcrass/scans2jpg.git/': Problem with the SSL CA cert (path? access rights?)
Run Code Online (Sandbox Code Playgroud)编辑:
@ VonC关于git https.sslCAinfo选项的建议让我走上正轨 - 我刚刚将下载的cacert.org CA添加到我的trusted.pem,现在git不再抱怨了.
我正在通过https使用远程git存储库,它具有自签名证书.为了让git知道自签名证书,我在.gitconfig中有以下内容:
[http]
sslCAInfo = /home/user/myselfsigned.cert
Run Code Online (Sandbox Code Playgroud)
这工作正常,但是当我添加另一个带CA签名证书的远程时,git(或curl?)错误地尝试使用此远程的cert文件.将证书应用于特定远程的正确语法是什么?
类似于您如何设置的Git配置选项为特定的URL像
git config http."https://code.example.com/".sslVerify false
我想为所有子域设置它们.我该如何使用通配符?以下似乎不起作用
git config http."https://*.mycompany.com/".sslCAInfo <downloaded certificate>.pem
git ×5
github ×3
certificate ×1
debian ×1
git-config ×1
https ×1
proxy ×1
self-signed ×1
ssl ×1