【问题标题】:GitLab: Remote access denied fatal - authentication failedGitLab:远程访问被拒绝致命 - 身份验证失败
【发布时间】:2019-03-26 17:22:13
【问题描述】:

昨天我在编码,当我提交到一个仓库时,我不能这样做,因为 gitlab 给我发了两条消息。

这条消息出现在我尝试提交的那一刻

  1. 在分支主机上 您的分支领先于 'origin/master' 2 次提交。 (使用“git push”发布你的本地提交)

当我插入“git pull”之后

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

"git 推送"

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

请帮帮我!

【问题讨论】:

  • 您没有权限,请检查存储库或更新 ssh 密钥(如果适用)

标签: git gitlab


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    打开 Git bash 终端并输入

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

    然后按回车键进入

    然后做cat ~/.ssh/id_rsa

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

        对于在使用 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 身份验证再次工作。

        【讨论】:

          猜你喜欢
          • 2023-04-06
          • 2022-07-15
          • 2015-07-05
          • 2021-04-02
          • 2016-03-15
          • 1970-01-01
          • 2020-10-16
          • 1970-01-01
          • 2017-11-28
          相关资源
          最近更新 更多