GitLab远程:HTTP基本认证被拒绝和致命的身份验证问题

570

此帖子不同,我使用的是 macOS。

我已在 GitLab 中配置了密码。 在 GitLab 项目创建后,我还创建了 SSL 密钥。

当我为新项目使用现有文件夹并按照以下步骤操作时,系统会提示我输入 GitLab 用户名和密码。

现有文件夹

cd existing_folder
git init
git remote add origin https://gitlab.com/sobopla/Geronimod.git
git add .
git commit -m "Initial commit"
git push -u origin master

输入密码后,我收到以下错误信息。

远程:HTTP基本认证被拒绝 致命错误:访问'https://gitlab.com/myname/myproject'时身份验证失败


以下的答案对我没有用...如果还有人在mac上遇到这个问题...这个链接可能会有所帮助... https://dev59.com/U2Mm5IYBdhLWcg3wX-LT - Pallamolla Sai
如果您的GitLab帐户设置了密码过期日期,但您正在使用另一种身份验证方法(例如LDAP),则也可能会出现此错误。然后,GitLab会在甚至不检查您的凭据是否与LDAP服务器匹配的情况下抛出403错误。 - Andy
惩罚相关问题:macos - 如何更新Git的密码?- Stack Overflow - user202729
一个解决方法是使用SSH进行身份验证,而不是HTTP。在上面的步骤中,这意味着用git remote add origin git@gitlab.com:sobopla/Geronimod.git替换第三行。如果您正确设置了SSH密钥,则应该可以。 - dinosaur
我很惊讶没有人建议你应该做的第一件事。 仔细检查你的用户名和密码! - Janez Kuhar
52个回答

4

如果您想使用现有的Git帐户登录Gitlab,您需要首次重置Gitlab的密码。

  1. 步骤:通过单击您的个人资料图标(位于右上角的下拉菜单)导航到设置。
  2. 步骤:进入设置
  3. 步骤:单击锁图标或glyphicon图标(即密码)。
  4. 步骤:为Gitlab输入新密码。

4
在我的情况下,我重新安装了最新版本的git(目前为2.16.2)。我不知道是否是因为我的旧版本git过时了,但我在github页面上读到,如果你遇到https克隆错误,应该这样做。我认为这是一个https克隆错误,因为错误集中在HTTP基本上,而GitLab使用HTTPS。我的思路可能有误,但这个解决方案在我的情况下有帮助,我希望这能帮助未来的任何人!

3

前往C:\Users\<<USER>>并删除.gitconfig文件,然后尝试连接到上游的命令,如git clone、git pull或git push。您将被提示重新输入凭据,请重新输入。


3

出现此错误的原因不仅限于凭据管理器中的无效凭据。

我曾遇到一个问题,我的帐户使用LDAP进行身份验证,但仍设置了密码过期日期。由于服务器配置为仅使用LDAP身份验证,在Web UI中无法看到密码过期信息,直到GitLab发布了带有版本13.12.2的安全修复程序后才成为问题。

您可以通过GitLab Rails控制台检查和编辑用户帐户的password_expires_at属性。将其设置为 nil 即可解决该问题,并重新启用LDAP身份验证。


3
我必须按以下两个步骤解决这个问题:
  1. 创建ssh-keygen并将公钥添加到我的gitlab帐户中

  2. 使用以下命令禁用https

    git config --global http.sslVerify false

enter image description here


2
当Windows凭据管理器要求您提供GitLab访问凭据时,这些凭据是您访问GitLab时使用的用户名和密码。例如:使用您的电子邮件和密码。

2

仅供参考,我在将ssh_rsa.pub复制到gitlab的SSH Keys后,错误地使用了URL导致出现了这些问题。

$ git clone http://gitlab.x
Cloning into 'start-up'...
remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'api' scope for Git over HTTP.
remote: You can generate one at http://gitlab.x

通过使用以下URL解决问题。

$ git clone gitlab@gitlab.xxx.com/your_project.git

1
您需要更新位于.git目录内的配置文件,使用当前访问令牌。 请参阅此链接,其中我解决了因意外更改访问令牌而引起的问题。 我当时正在使用GITLABCLion

目前你的回答不够清晰,请编辑并添加更多细节以帮助其他人理解它如何回答所提出的问题。你可以在帮助中心找到有关如何撰写好答案的更多信息。 - Community

1

我遇到了同样的错误,通过以下步骤解决:

  1. 打开Windows搜索
  2. 输入:Git Bash
  3. 右键单击并选择:以管理员身份运行
  4. 进入你的项目目录:cd "C:\path\to\our\project\name"
  5. 执行命令:git config --system --unset credential.helper 注意:在Linux上使用sudo命令运行此命令:sudo git config --system --unset credential.helper

1

我尝试使用浏览器URL来访问代码库,然后

git clone $(browserURL)

它提示我输入用户名和密码

然后它就正常工作了


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接