HTTP Basic:访问被拒绝致命:身份验证失败

时间:2017-06-13 07:17:18

标签: git gitlab

我在Windows 10 Pro x64上使用GitLab Community Edition 9.1.3 2e4e522。使用Git客户端。

错误

Cloning into 'project_name'...
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'http://my_user_name@example.com/my_user_name/project_name.git/'

如何解决?

15 个答案:

答案 0 :(得分:35)

打开CMD(以管理员身份运行) type命令:

git config --system --unset credential.helper

然后输入Git远程服务器的新密码。

答案 1 :(得分:7)

就我而言,我最初尝试使用

git config --system --unset credential.helper

但是我遇到了错误

错误:无法锁定配置文件C:/ Program Files / Git / etc / gitconfig:权限被拒绝

然后尝试

git config --global --unset credential.helper

没有错误,但是在git pull时仍然出现拒绝访问错误。

然后转到控制面板->凭据管理器> Windows凭据,并删除git帐户。

之后,当我再次尝试git pull时,它要求提供凭据,并在Credentails管理器中添加了一个新的git帐户。

答案 2 :(得分:5)

我遇到了同样的错误,我的建议是:

  1. 首先尝试在git lab中构建另一个用户
  2. 重新检查用户名&密码(虽然听起来很明显)
  3. 验证windows cerdential(开始 - >" cred")
  4. 复制&粘贴与git lab相同的URL,结构应为:
  5.   

    的http:// {srvName} / {userInGitLab} / {Repository.git}   没有' /'最后

    1. 重新检查GitLab中的授权
    2. 希望以上之一能解决它。

答案 3 :(得分:4)

我的情况是我使用的是Windows的Git Credential Manager(默认情况下已安装,我没有手动安装)

Credentials Manager保存了我的旧密码,但是最近我更改了它。

如果您处于相同条件下,请解决此问题: 转到控制面板->凭据管理器,然后删除git帐户。 之后,它将再次询问您凭据。

答案 4 :(得分:2)

这也可能是由于密码更改以及Git Credential Manager缓存了它而导致的,因此 1.在Windows中打开凭据管理器 2.搜索您的GIT凭据,并将其重置为新密码。

答案 5 :(得分:1)

一个简单的git fetch / pull命令将抛出一个身份验证失败的消息。但是第二次执行相同的git fetch / pull命令,它应该提示一个窗口询问凭证(用户名/密码)。输入您的ID和新密码,它应该保存并继续。

答案 6 :(得分:1)

打开CMD(以管理员身份运行)类型的命令:

git config --system --unset credential.helper

然后输入Git远程服务器的用户名和密码。

答案 7 :(得分:1)

转到您的凭证管理员=> git凭证 检查您的git凭据并检查您的密码。

这对我有用。

答案 8 :(得分:1)

要求输入用户名和密码时。只需添加gitlab用户名和密码即可进行克隆。对于弹出询问凭据的框,请执行以下操作:

转到“控制面板”->用户帐户->管理凭据-> Windows凭据-> git:https://username@gitlab.com->单击向下箭头->然后单击删除。

希望这会有所帮助!

答案 9 :(得分:0)

在Windows凭据的“通用凭据”部分中编辑git:的条目(可能是已更改的密码字段),可以从“控制面板”访问。请注意,这是用于Windows操作系统。

答案 10 :(得分:0)

我在Mac OS和GitLab上为项目使用VS Code。我尝试了很多方法,但是通过使用以下命令重置项目存储库的远程来源,它对我来说很简单:

cd <local-project-repo-on-machine>
git remote set-url <remote-name> <remote-url>

for ex: git remote set-url origin https://<project-repository>.git

希望它可以帮助某人。

答案 11 :(得分:0)

  1. 生成永不过期的访问令牌,然后选择所有可用选项。
  2. 删除现有的SSH密钥。
  3. 使用https而不是ssh克隆存储库。
  4. 使用用户名,但使用生成的访问令牌代替密码。

enter image description here

或者,您可以在现有存储库中使用此命令将remote设置为http,然后使用此命令git remote set-url origin https://gitlab.com/[username]/[repo-name].git

答案 12 :(得分:0)

在深入研究解决方案之前,我们首先要了解为什么会发生这种情况。

在与git进行任何事务之前,您的计算机会执行git检查以进行身份​​验证,这可以使用

  1. 计算机中存在并与git-repo共享的SSH密钥令牌(最优选) OR
  2. 使用您的用户名/密码(最常用)

为什么会这样

简而言之,发生这种情况是因为存储在计算机中的凭据不是真实的,即很有可能您存储在计算机中的密码已从git中的密码更改了

解决方案

前往控制面板并搜索凭据管理器,查找您使用的git url并更改凭据。

您可以使用此功能,几乎可以关闭所有窗口

答案 13 :(得分:0)

在Windows凭据管理器中更新密码不是我的解决方案。

我必须通过以下方式设置其他远程URL:

git remote set-url origin https://gitlab....git

在这种情况下,URL是可以在Gitlab中的Clone-> Clone with HTTPS下找到的URL。它不是命令行指令中的那个。

答案 14 :(得分:-2)

  • 尝试使用Git Bash
  • 您是否在帐户中添加了ssh密钥?如果是,请删除它并尝试 再次。如果没有添加一个并尝试使用ssh url。
  • 你不一定需要Tortoise Git,但它也可以解决 你的问题
  • 尝试在没有适用于Windows的Git Credential Manager的情况下重新安装Git

当你修复推送问题时,你也可以在私有或内部时克隆它。