HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA
时间: 2025-06-18 11:43:29 浏览: 25
### 解决HTTP Basic认证中遇到的访问被拒绝问题
在使用IDEA或WebStorm进行Git操作时,如果启用了双因素身份验证(2FA),则无法再使用常规密码来执行远程仓库的操作。此时必须创建并使用个人访问令牌(Personal Access Token, PAT)。当尝试推送代码到GitLab或其他支持Git的服务端时,可能会收到如下错误消息:
`remote: 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 a password.`[^1]
#### 创建个人访问令牌
为了能够继续正常工作,在GitLab上应该按照以下说明生成一个新的PAT:
- 登录到GitLab账户。
- 导航至用户的设置页面(Settings) -> 扩展选项(Expand) -> 访问令牌(Access Tokens)。
- 输入描述性的名称以便日后识别此token的作用范围。
- 设置过期时间。
- 勾选所需的权限级别(如api、write_repository等)。
- 单击“创建个人访问令牌(Create Personal Access Token)”按钮。
一旦成功创建了新的PAT,则应妥善保存它,因为这将是唯一查看的机会;之后将不再显示完整的token字符串[^2]。
#### 更新本地配置中的凭证信息
对于已经存在的项目库,需要更新存储于`.git/config`文件内的URL地址以及对应的用户名和新生成的PAT作为密码。可以通过命令行工具完成这一过程:
```bash
# 替换<username>为实际使用的用户名,<personal_access_token>替换为自己刚创建的那个
git config --global credential.helper store
echo "https://<username>:<personal_access_token>@gitlab.example.com" > ~/.git-credentials
```
另外一种方法是在每次提交更改前手动输入这些凭据,但这显然不够方便高效。更推荐的做法是利用上述方式永久性地缓存住登录状态[^3]。
#### 验证解决方案的有效性
最后一步就是测试是否解决了之前提到的问题。可以试着再次运行原本失败过的指令,比如`git push`或者`git pull`看看是否会顺利连接服务器而不报错。
```bash
$ git push --set-upstream origin main
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 279 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
To https://gitlab.freedesktop.org/freetype/freetype.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
```
阅读全文
相关推荐

















