远程:HTTP基本:访问被拒绝致命:身份验证失败

时间:2018-10-22 15:16:11

标签: git gitlab

昨天我正在编码,当我将提交提交到存储库中时,我无法执行此操作,因为gitlab向我发送了两条消息。

此消息在我尝试提交时显示

  1. 在分支机构主管上 您的分支比“源/主”提前2次提交。 (使用“ git push”发布您的本地提交)

当我插入“ git pull”之后

  1. 远程:HTTP基本:访问被拒绝 致命:验证失败(存储库链接)

“ git push”

远程:HTTP基本:访问被拒绝 致命:验证失败

请帮助我!

5 个答案:

答案 0 :(得分:1)

我认为为时已晚,但是如果某些Windows用户遇到了问题。这是有效的解决方案。 我已经更新了gitlab的凭据。 Git bash使用'Control Panel > User Accounts > Credential Manager'中的通用凭据将凭据存储在Windows Vault中。更新密码以匹配当前值后,我可以进行“ git push”操作。

答案 1 :(得分:1)

现在是2021年,最可能的原因是:

Gitlab 不允许密码访问,但推荐使用:access token

  • 如何使用 Gitlab 访问令牌?
    • 核心逻辑:
      • create token:在gitlab中Profile->Settings->Access Tokens->输入名称,全选,create personal access token
      • 使用访问令牌代替 git 密码:当 git push 时,(在弹出窗口中)需要输入 access token(进入密码字段),NOT 使用 { {1}}
    • 详细步骤:请参考JavAlex's answer in another post(我已经更新了我的答案)

答案 2 :(得分:0)

检查您是否使用的是https而不是ssh

对于gitlab,仅允许使用ssh:

git remote add origin git@gitlab.com:yourgroup / yourprojectgit

答案 3 :(得分:0)

首先在本地git bash上生成一对ssh-key

打开Git bash终端并输入

ssh-keygen -t rsa -b 2048 -C "youremailaddress"

然后按Enter键并输入

然后cat ~/.ssh/id_rsa

并将id_rsa.pub文件的内容复制到剪贴板,然后转到gitlab配置文件settings >> ssh key并粘贴此密钥并完成

答案 4 :(得分:0)

对于在使用 GitLab 13+ 的非 Windows 平台上也遇到此错误的任何人。除了无效的凭据之外,还有另一个原因。

我的帐户使用 LDAP 进行身份验证时遇到问题,但仍然设置了密码到期日期。由于服务器配置为仅使用 LDAP 身份验证,因此密码过期在 Web UI 中不可见,并且仅在 GitLab published a security fix with version 13.12.2 之后成为问题。

您可以通过 GitLab Rails Console 检查和编辑用户帐户的 password_expires_at 属性。将其设置为 nil 解决了该问题并使 LDAP 身份验证重新工作。