使用Git,有没有办法告诉它接受自签名证书?
我使用https服务器来托管git服务器但是现在证书是自签名的.
当我第一次尝试在那里创建回购时:
git push origin master -f
Run Code Online (Sandbox Code Playgroud)
我收到错误:
error: Cannot access URL
https://the server/git.aspx/PocketReferences/, return code 22
fatal: git-http-push failed
Run Code Online (Sandbox Code Playgroud) 我正在进行的项目的系统管理员已经确定SSH"太麻烦"了; 相反,他已将Git设置为可通过https://URL(以及用户名/密码身份验证)访问.此URL的服务器提供自签名证书,因此他建议所有人关闭证书验证.这并不是一个好的设置,安全方面.
是否有可能告诉Git对于远程X(或者更好的是,任何存储库中的任何远程开头都是https://$SERVERNAME/),它是接受特定证书,只接受该证书?基本上重复了SSH的服务器密钥行为.
我正在尝试使用Github Desktop和git shell从Github克隆,但继续收到此错误:
Cloning into 'C:\Users\John Doe\workspace\MyProject'...
fatal: unable to access 'https://github.com/JohnDoe/MyProject.git/':
schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) -
The revocation function was unable to check revocation for the certificate.
Run Code Online (Sandbox Code Playgroud)
拉动现有存储库时的问题相同.
我已经尝试将上传的SSH密钥上传~/.ssh/github-ssh.pub到Github设置,但它没有任何帮助.
编辑:刚刚检查过,即使我尝试克隆一个不存在的存储库,它也会发生.
我正在Windows服务器上运行Gitblit,并且正在尝试将数据从网络上的另一台机器推送到存储库.我使用过SSL证书(不是自签名的,但我认为我公司签了?不确定它是如何工作的,但Chrome,IE等看到它已经过身份验证).
运行Gitblit的服务器已命名itscm,在开发人员的桌面上我使用此URL通过TortoiseGit推送数据:
git.exe push --progress "https://itscm:8234/git/TestRepo.git" master
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
致命:无法访问' https:// itscm:8234/git/TestRepo.git / ':SSL证书问题:证书链中的自签名证书
当我在chrome中转到该地址时,我在页面上得到404,但我可以看到URL栏中的挂锁是绿色的.当我点击挂锁时,我看到身份已经过验证.我不明白我的浏览器如何将此证书视为有效,但当我尝试通过Git将数据推送到它时,它失败了.
我正在尝试从 Github 克隆存储库,但无法克隆该存储库,它因 TLS 证书验证已被禁用而失败!错误。
当我运行 git clone 命令时,它会重定向到在 Github 上登录,但 TLS 证书失败,并且存储库身份验证失败,即使输入有效的凭据也是如此。
我的 Github 帐户启用了双因素身份验证。
我尝试过禁用 sslverifcation 也 git config --global http.sslVerify false
系统规格:
操作系统:Windows 10
架构:64位
请帮我解决这个问题。提前致谢。
我有一个问题...我的代码在 Gitlab 中,管道在 Azure DevOps 中。我使用经典编辑器。当我启动管道时,出现错误“致命:无法访问‘致命:无法访问’https://my.repos.example:***.git/’:SSL 证书问题:无法获取本地颁发者证书”请帮我!
我想在TortoiseGit的帮助下克隆git存储库,但我收到错误:
错误:SSL证书问题,验证CA证书是否正常.详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:访问https时出现证书验证失败https://git.assembla.com/pplconnect-PL.webserver.git/info/refs?service=git-upload-pack 致命错误:HTTP请求失败
git没有干净地退出(退出代码128).
任何帮助或指导将不胜感激.

我刚刚为windows安装了git并试图像这样克隆glew的repo
$ git clone https://github.com/nigels-com/glew.git
Run Code Online (Sandbox Code Playgroud)
但是我得到了以下错误
Cloning into 'glew'...
fatal: unable to access 'https://github.com/nigels-com/glew.git/': SSL certificate problem: self signed certificate
Run Code Online (Sandbox Code Playgroud)
我见过人们遇到这个问题和一些可能的解决方法.
第一次尝试
$ git -c http.sslVerify=false clone https://github.com/nigels-com/glew.git
Cloning into 'glew'...
fatal: unable to access 'https://github.com/nigels-com/glew.git/': Empty reply from server
Run Code Online (Sandbox Code Playgroud)
第二次尝试
$ git config --global http.sslVerify false
$ git clone https://github.com/nigels-com/glew.git
Cloning into 'glew'...
fatal: unable to access 'https://github.com/nigels-com/glew.git/': Empty reply from server
Run Code Online (Sandbox Code Playgroud)
然后我检查http.sslcainfo了配置文件中的条目
$ git config --system --list
credential.helper=manager
$ git config --global --list
https.proxy=<proxy-address>
http.sslverify=false
Run Code Online (Sandbox Code Playgroud)
系统和全局配置文件没有该条目.所以我尝试了以下内容,我不知道正在阅读什么文件并尝试取消设置. …
我有一个使用libcurl-4dll的命令行应用程序,当前,我可以通过将我的CA证书放在工作目录中并将它们的名称传递给,CUTLOPT_CAINFO并在其名称前CURLOPT_SSLCERT加上./前缀来使所有工作正常。
但是,我正在做的是让cURL不使用当前目录中的内容,而是使用存储在我的计算机系统存储中的证书。
从阅读卷曲的文档我明白,如果你配置它不给一个指定的默认ca-bundle或者ca-path说德州仪器将“自动检测设置”。
并且CURLOPT_CAINFO默认情况下将设置为“特定于内置系统”
所以任何人都可以帮助我了解:
如果在curl的配置时未指定任何内容,它是否检测到系统存储的默认路径?还是curl使用自己的路径存储系统?
什么样的价值,你给curl_easy_setopt(m_curlHandle, CURLOPT_CAINFO, *<value> )做CURLOPT_CAINFO去使用它的默认值?
感谢您提供任何帮助,因为我仍在学习所有方法。
谢谢。
我的公司使用 GitLab,当我尝试使用 Visual Studio 2022 中的 Git UI 推送到远程功能分支时,我在“输出”窗口中收到以下错误:
Git failed with a fatal error.
unable to access '<my gitlab server url>':
schannel: CertGetCertificateChain trust error CERT_TRUST_IS_UNTRUSTED_ROOT"
Run Code Online (Sandbox Code Playgroud)
我尝试了在另一个解决方案中看到的以下命令,git config --global http."<my gitlab server url>.sslCAInfo C:/path/to/cert.pem但它给了我同样的错误。命令中使用的证书是我通过单击挂锁图标和来从 GitLab 服务器下载的View Certificate。
每次我从用户界面推送或拉取时都会发生这种情况。当我使用单独的终端(例如 Git Bash 或 PowerShell)时,不会发生该错误。
我正在尝试将 composer 与我的WampServer一起使用。
我所有文件的路径是C:\wamp64\www,但是当我运行 composer 时,它会在其他地方安装供应商文件和其他东西。
我什至不知道在哪里,也无法更改我的项目所在的路径。我已经尝试了一切,但它似乎仍然没有在我的项目文件夹中安装供应商文件。
当尝试从 GIT 在 azure DevOps 上签入/签出代码时,我收到以下错误。
应用程序必须将流量发送到 Zscaler 代理。为此,我们在 GIT 帖子中取消了代理设置,应用程序能够连接 URL,但 SSL 握手没有发生。GIT 不知道 Zscaler 证书,因此无法与目标服务器建立 SSL 握手。我需要找到一种在 GIT 应用程序中导入 Zscaler 证书的方法,以便它可以连接目标。是否可以将证书复制粘贴到 GIT 文件夹中。Git\usr\ssl\certs 下的证书是什么有人可以帮忙吗?
git ×9
ssl ×7
github ×3
azure-devops ×2
gitlab ×2
tortoisegit ×2
azure ×1
composer-php ×1
credentials ×1
curl ×1
gitblit ×1
https ×1
openssl ×1
pem ×1
self-signed ×1
wampserver ×1
zscaler ×1