致命:[GIT客户端]身份验证失败

时间:2016-05-31 07:46:57

标签: git gitlab gitlab-omnibus

我在客户端上使用Windows,我有一个独立的GitLab-CE安装(通过omnibus包),我的身份验证有问题,但它不是服务器问题,我有问题只有一个客户端,我可以从其他客户端访问没有问题然后问题是在这个客户端。

当git需要身份验证时,我收到此错误:

push

我在服务器上创建了几个repos,当我执行push操作,其中git需要身份验证,客户端向我显示身份验证对话框(用户和pwd提示符),我写了我的凭据,我得到了同样的错误。我可以使用相同的凭据访问gitlab前端,但我无法从私有存储库执行clone(或git remote delete origin git remote add origin http://USER:PASSWORD@sgit.emuasa.es/jros/PruebaGit1.git 。)

我只有在使用以下方式将用户和密码放入遥控器时才能访问:

git remote delete origin
git remote add origin http://USER@sgit.emuasa.es/jros/PruebaGit1.git

然后我可以访问,但我不想在远程列表中显示密码。

我试图只写用户:

fatal: Authentication failed for 'http://jros@sgit.emuasa.es/jros/PruebaGit1.git/'

Git提示我输入密码但结果是一样的:

git config --unset credential.helper

我已使用以下方式清除凭证助手:

{{1}}

我已从Windows Credential Manager中删除了凭证......但我无法找到此问题的根源......

由于我使用github和gitlab(在线)存储库没有问题,这是一个奇怪的行为。

我已卸载并重新安装所有git客户端应用程序(tortoisegit,GitExtension,GitKraken)并卸载Git但没有...

你能帮帮我吗?有任何想法吗?我该怎么办?

1 个答案:

答案 0 :(得分:1)

好的,我已经解决了。

我已将GIT_CURL_VERBOSE = 1设置为env变量(如@Jcl在其评论中所述),我可以看到git连接到代理:

* Couldn't find host sgit.emuasa.es in the _netrc file; using defaults
* timeout on name lookup is not supported
*   Trying 10.31.9.20...
* Connected to proxy.XXXX.XXX (XX.XX.X.XX) port 8080 (#0)
> GET http://sgit.emuasa.es/jros/prueba2.git/info/refs?service=git-upload-pack HTTP/1.1
Host: sgit.emuasa.es
User-Agent: git/2.8.3.windows.1
Accept: */*
Accept-Encoding: gzip
Accept-Language: es, *;q=0.9
Pragma: no-cache

git服务器是内部的,不需要通过代理。 我从以下位置删除了代理配置:

  • 来自IE的Internet选项
  • git config --global --unset http.proxy
  • netsh winhttp proxy

我也一样,git连接到代理......

我正在搜索.gitconfig文件但我找不到它......

最后,我在我的系统上找到了一个名为HTTP_PROXY的环境变量,并指向我的代理......

我还没有找到关于GIT的信息使用这个环境变量,但GIT使用它。