使用 git bash 在特定计算机上通过 HTTPS 进行身份验证失败 - 跟进问题
Authentication failed on a specific machine via HTTPS with git bash - follow up question
通过之前的回答,我能够在有问题的机器上使用 。
但是 - 仅在这样的机器上 - 我仍然从 git bash 收到 https:
的错误
$ git clone https://giuliohome:mypassword@github.com/giuliohome/MyPrivateRepo.git
Cloning into 'MyPrivateRepo'...
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/giuliohome/MyPrivateRepo.git/'
我尝试通过 github 网络设置创建个人访问令牌并使用它代替密码,但它在有问题的机器上也像上面那样失败(同样,它在另一台机器上工作) .
我还尝试通过 windows 凭据管理器 remove/change/add git 凭据。
编辑
抱歉各位,我原来的问题是
证书问题:无法获取本地颁发者证书
(问题起源于昨天更新 tortoisegit 杀死了一个资源管理器进程并弄乱了我电脑中的某些东西...)
我尝试了快速解决方法 sslVerify = false
并且出现了上述错误,但是 return 转到 true
我又看到了证书问题
这里是请求的详细信息
MYDOMAIN+MYDOMAINUSER@MYMACHINE MINGW64 /c/sviluppi/.../code/git/test2
$ git config -l --show-origin
file:C:/Program Files/Git/etc/gitconfig diff.astextplain.textconv=astextplain
file:C:/Program Files/Git/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
file:C:/Program Files/Git/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
file:C:/Program Files/Git/etc/gitconfig filter.lfs.process=git-lfs filter-process
file:C:/Program Files/Git/etc/gitconfig filter.lfs.required=true
file:C:/Program Files/Git/etc/gitconfig http.sslbackend=openssl
file:C:/Program Files/Git/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true
file:C:/Program Files/Git/etc/gitconfig core.fscache=true
file:C:/Program Files/Git/etc/gitconfig core.symlinks=false
file:C:/Program Files/Git/etc/gitconfig core.editor="C:\Program Files\Notepad++\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
file:C:/Program Files/Git/etc/gitconfig credential.helper=manager
file:C:/Users/mydomainuser/.gitconfig user.name=Giulio
file:C:/Users/mydomainuser/.gitconfig user.email=giuliohome@xxxx.com
file:C:/Users/mydomainuser/.gitconfig http.sslverify=true
file:C:/Users/mydomainuser/.gitconfig credential.https://github.com.helper=manager
file:C:/Users/mydomainuser/.gitconfig credential.https://github.com.username=giuliohome
我在 Windows 10 Enterprise,我想最终使用 tortoisegit 但目前我被阻止在 git bash 级别. 所以我现在用的是纯git,我想解决那里的问题,那我想我就可以return到乌龟git(再次强调,我说的是 git https,因为 git ssh 已经说过了)
这是我现在的c:\users\mydomainuser\.gitconfig
[user]
name = Giulio
email = giuliohome@xxxx.com
[http]
sslVerify = true
sslbackend = openssl
sslcainfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
[credential "https://github.com"]
helper = manager
username = giuliohome
用 openssl
替换 sslbackend=schannel
后,我得到 unable to get local issuer certificate
最后,让我补充一点,McAfee Endpoint Security 在这台机器上处于活动状态,Blue Coat Unified Agent。
这里的问题是您正在使用您的 git 客户端正在使用存储在您的主目录中的全局 git 配置 (C:/Users/mydomainuser/.gitconfig) ,此 git 配置未设置 ssl-backend
和 ssl-cainfo
值。
您需要在 C:/Users/mydomainuser/.gitconfig
中添加这两行
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
我怀疑 https 连接实际上被某些安全机制基于机器的 IP 地址阻止了。
我得出这个是因为如果我更改机器的 ip 并生成一个新的个人访问令牌,它似乎只工作一次,一次,因此我猜它是一个网络上的安全防火墙默默地阻止连接。他们还告诉我,通过查看 McAfee 日志,问题不存在。我已经通过在同一台机器上克隆一个 bitbucket 私有存储库进行了测试,但授权失败,所以 github 看起来也没有错...
最后我想说它可能是 this answer 中描述的 Blue Coat Unified Agent。
是的,已确认,我暂时断开了 Blue Coat Unified Agent 并且 git 克隆现在也可以通过 https 正常工作。
为了明确修复它,他们从 git 中注意到了详细的错误 401
并且可能委托了 github 证书。
就原始问题的描述而言,另请参阅重现此 github 问题中有关“Multiple issues related to SSL Interception (environs with proxy, enterprise MITM, etc)”上下文的步骤中报告的以下句子[=14] =]
Recommend setting up a lab and configuring an Enterprise grade
security product such as BlueCoat or similar that does MITM, then
using internal certificates for the pass-back.
通过之前的回答,我能够在有问题的机器上使用
$ git clone https://giuliohome:mypassword@github.com/giuliohome/MyPrivateRepo.git
Cloning into 'MyPrivateRepo'...
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/giuliohome/MyPrivateRepo.git/'
我尝试通过 github 网络设置创建个人访问令牌并使用它代替密码,但它在有问题的机器上也像上面那样失败(同样,它在另一台机器上工作) .
我还尝试通过 windows 凭据管理器 remove/change/add git 凭据。
编辑 抱歉各位,我原来的问题是
证书问题:无法获取本地颁发者证书
(问题起源于昨天更新 tortoisegit 杀死了一个资源管理器进程并弄乱了我电脑中的某些东西...)
我尝试了快速解决方法 sslVerify = false
并且出现了上述错误,但是 return 转到 true
我又看到了证书问题
这里是请求的详细信息
MYDOMAIN+MYDOMAINUSER@MYMACHINE MINGW64 /c/sviluppi/.../code/git/test2
$ git config -l --show-origin
file:C:/Program Files/Git/etc/gitconfig diff.astextplain.textconv=astextplain
file:C:/Program Files/Git/etc/gitconfig filter.lfs.clean=git-lfs clean -- %f
file:C:/Program Files/Git/etc/gitconfig filter.lfs.smudge=git-lfs smudge -- %f
file:C:/Program Files/Git/etc/gitconfig filter.lfs.process=git-lfs filter-process
file:C:/Program Files/Git/etc/gitconfig filter.lfs.required=true
file:C:/Program Files/Git/etc/gitconfig http.sslbackend=openssl
file:C:/Program Files/Git/etc/gitconfig http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true
file:C:/Program Files/Git/etc/gitconfig core.fscache=true
file:C:/Program Files/Git/etc/gitconfig core.symlinks=false
file:C:/Program Files/Git/etc/gitconfig core.editor="C:\Program Files\Notepad++\notepad++.exe" -multiInst -notabbar -nosession -noPlugin
file:C:/Program Files/Git/etc/gitconfig credential.helper=manager
file:C:/Users/mydomainuser/.gitconfig user.name=Giulio
file:C:/Users/mydomainuser/.gitconfig user.email=giuliohome@xxxx.com
file:C:/Users/mydomainuser/.gitconfig http.sslverify=true
file:C:/Users/mydomainuser/.gitconfig credential.https://github.com.helper=manager
file:C:/Users/mydomainuser/.gitconfig credential.https://github.com.username=giuliohome
我在 Windows 10 Enterprise,我想最终使用 tortoisegit 但目前我被阻止在 git bash 级别. 所以我现在用的是纯git,我想解决那里的问题,那我想我就可以return到乌龟git(再次强调,我说的是 git https,因为 git ssh 已经说过了)
这是我现在的c:\users\mydomainuser\.gitconfig
[user]
name = Giulio
email = giuliohome@xxxx.com
[http]
sslVerify = true
sslbackend = openssl
sslcainfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
[credential "https://github.com"]
helper = manager
username = giuliohome
用 openssl
替换 sslbackend=schannel
后,我得到 unable to get local issuer certificate
最后,让我补充一点,McAfee Endpoint Security 在这台机器上处于活动状态,Blue Coat Unified Agent。
这里的问题是您正在使用您的 git 客户端正在使用存储在您的主目录中的全局 git 配置 (C:/Users/mydomainuser/.gitconfig) ,此 git 配置未设置 ssl-backend
和 ssl-cainfo
值。
您需要在 C:/Users/mydomainuser/.gitconfig
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
我怀疑 https 连接实际上被某些安全机制基于机器的 IP 地址阻止了。
我得出这个是因为如果我更改机器的 ip 并生成一个新的个人访问令牌,它似乎只工作一次,一次,因此我猜它是一个网络上的安全防火墙默默地阻止连接。他们还告诉我,通过查看 McAfee 日志,问题不存在。我已经通过在同一台机器上克隆一个 bitbucket 私有存储库进行了测试,但授权失败,所以 github 看起来也没有错...
最后我想说它可能是 this answer 中描述的 Blue Coat Unified Agent。
是的,已确认,我暂时断开了 Blue Coat Unified Agent 并且 git 克隆现在也可以通过 https 正常工作。
为了明确修复它,他们从 git 中注意到了详细的错误 401
并且可能委托了 github 证书。
就原始问题的描述而言,另请参阅重现此 github 问题中有关“Multiple issues related to SSL Interception (environs with proxy, enterprise MITM, etc)”上下文的步骤中报告的以下句子[=14] =]
Recommend setting up a lab and configuring an Enterprise grade security product such as BlueCoat or similar that does MITM, then using internal certificates for the pass-back.