【发布时间】:2016-09-29 02:51:55
【问题描述】:
我在客户端上使用 Windows,并且我有 GitLab-CE 的独立安装(通过综合包),我遇到了身份验证问题,但这不是服务器问题,我只有一个问题客户端,我可以毫无问题地从其他客户端访问,那么问题出在这个客户端。
当 git 需要身份验证时,我收到此错误:
fatal: Authentication failed for 'http://sgit.emuasa.es/jros/PruebaGit1.git/'
我在服务器中创建了几个存储库,当我在 git 需要身份验证的情况下执行 push 操作时,客户端会向我显示身份验证对话框(用户和密码提示符),我写了我的凭据,我得到了同样的错误。我可以使用相同的凭据访问 gitlab 前端,但我无法执行 push(或来自私有存储库的 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
Git 提示我输入密码,但结果是一样的:
fatal: Authentication failed for 'http://jros@sgit.emuasa.es/jros/PruebaGit1.git/'
我已使用以下方法清除凭证助手:
git config --unset credential.helper
我已经从 Windows 凭据管理器中删除了凭据...但我找不到这个问题的根源...
这是一个奇怪的行为,因为我使用 github 和 gitlab(在线)存储库没有问题。
我已经卸载并重新安装了所有 git 客户端应用程序(tortoisegit、GitExtension、GitKraken)并卸载了 Git 但什么也没有......
你能帮帮我吗?有任何想法吗?我能做什么?
【问题讨论】:
-
由于 URL 身份验证有效,因此更有可能将身份验证丢弃在 http 请求标头上。使用
GIT_CURL_VERBOSE=1,这样您就可以检查标题并查看您在不同客户端上发现的内容(检查一个有效与一个无效)
标签: git gitlab gitlab-omnibus