【GitLab】-HTTP Basic: Access denied.remote:You must use a personal access token

写在前面

  本文简要说明GitLab配置accessToken以及双因子认证(Two-factor authentication)



一、场景描述

  在使用账号和密码的方式拉取公司GitLab代码时,遇到了以下问题HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token instead of password.
在这里插入图片描述

说明:全文中涉及到的地址均为模拟环境
git clone http://192.168.41.130:9001/gitlab/a-learn/design-pattern.git

咱不得不说,这个GitLab提示是真友善,直接说出了问题所在:
1、密码或者token错误(首先排除密码错误,不可能多次输入都错误)
2、账号启用了2FA
3、你必须使用个人的access token 来代替密码

那它提示的这个2FA和personal access token是什么东西?接下来就一探究竟。


二、具体步骤

1.环境说明

名称说明
Windows版本Win10/X64
Git版本2.31.1
GitLab版本15.10.2

2.配置accessToken

登录GitLab,Edit Profile -》Access Tokens

先看说明文字:
“Personal Access Tokens
You can generate a personal access token for each application you use that needs access to the GitLab API.

You can also use personal access tokens to authenticate against Git over HTTP. They are the only accepted password when you have Two-Factor Authentication (2FA) enabled.”

仔细看,什么是access Tokens?access token可以用来访问GitLab API,可以通过HTTP的方式认证,当启用Two-Factor Authentication (2FA)双因子认证时,只能通过这种方式作为密码访问。

好家伙,问题迎刃而解,那就添加一个access Token
在这里插入图片描述

填写Token name、Expiration date、Select scopes -》Create personal access token即可
在这里插入图片描述
复制出token,glpat-UFBSgkqh8Sk6JQf9yTU8

3.克隆项目

那怎么使用accessToken呢?

格式:git clone http://{username}:{token}@{URL}
git clone http://oauth2:glpat-UFBSgkqh8Sk6JQf9yTU8@192.168.41.130:9001/gitlab/a-learn/design-pattern.git

在这里插入图片描述
windows 环境,控制面板 -》用户账户 -》管理凭据
通过凭据,可以看到用户名确实是oauth2
在这里插入图片描述

4.双因子认证

管理员登录,左上角选中Admin
在这里插入图片描述
在Admin Area左侧侧边栏,选择Settings -》General
在这里插入图片描述
选择Sign-in restrictions Expand,勾选Two-factor authentication,save and change,跳转到绑定页面(新用户登录直接会跳转这个页面)
在这里插入图片描述

下载Google认证器,下面这个样子

打开Goole认证器,扫描二维码(会将当前登录用户的邮箱进行绑定,展示出6位数字密码)。输入当前用户登录密码和Google认证器上的6位数字码,即可(默认会生成10个认证码)

退出,再次登录的时候就需要二次输入认证
在这里插入图片描述


三、参考资料

GitLab remote: HTTP Basic: Access denied and fatal Authentication


写在后面

  如果本文内容对您有价值或者有启发的话,欢迎点赞、关注、评论和转发。您的反馈和陪伴将促进我们共同进步和成长。

  • 28
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
这个错误信息是在使用Git远程操作时遇到的,提示访问被拒绝,原因是提供的密码或令牌不正确。 在使用Git进行远程操作时,通常需要进行身份验证,以确保只有授权的用户可以访问远程仓库。在进行远程操作时,Git会根据你提供的身份验证信息进行验证,以确定你是否有权访问远程仓库。 当你遇到"stderr: remote: http basic: access denied. the provided password or token is"的错误信息时,意味着Git认为你提供的密码或令牌是不正确的。这可能是因为你提供的密码或令牌有误,或者你没有正确设置身份验证信息。 为了解决这个问题,你可以尝试以下几步操作: 1. 确保你在进行远程操作时使用的密码或令牌是正确的。你可以确认一下密码或令牌是否正确,或者重新生成一个新的密码或令牌。 2. 检查你的身份验证设置是否正确。你可以使用"git config --global --get user.name"和"git config --global --get user.email"来查看你的用户名和电子邮件地址是否正确设置。如果不正确,可以使用"git config --global user.name"和"git config --global user.email"来进行设置。 3. 如果你正在使用HTTPS协议进行远程操作,尝试清除掉你的Git凭证缓存。你可以在Git控制台中运行"git config --global --unset credential.helper"命令,然后重新输入密码或令牌进行验证。 如果上述方法都没有解决问题,可能还需要进一步检查网络连接、远程仓库权限等因素,或者联系远程仓库管理员寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值