双因素认证故障排除
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
错误:HTTP Basic: 访问被拒绝。如果为 Git 认证提供了密码...
发起请求时,您可能会收到以下错误信息:
HTTP Basic: Access denied. If a password was provided for Git authentication,
the password was incorrect or you're required to use a token instead of a password.
If a token was provided, it was either incorrect, expired, or improperly scoped.当以下情况发生时会出现此错误:
- 您已启用双因素认证(2FA),并尝试使用用户名和密码进行认证。
- 您未启用双因素认证,并尝试使用错误的用户名或密码进行认证。
- 您未启用双因素认证,且 为所有用户强制启用 2FA 设置已激活。
- 您未启用双因素认证,且 为 Git over HTTP(S) 启用密码认证 设置未激活。
要解决此错误:
- 使用具有正确权限范围的 个人访问令牌:
- 对于 HTTP(S) 上的 Git 请求:
read_repository或write_repository - 对于 GitLab 容器注册表 请求:
read_registry或write_registry - 对于 依赖代理 请求:
read_registry和write_registry
- 对于 HTTP(S) 上的 Git 请求:
- 如果您配置了 LDAP,请使用 LDAP 密码。
- 使用 OAuth 凭据助手。
错误:无效的 PIN 码
无效的 PIN 码 错误可能表明认证应用与 GitLab 实例之间存在时间同步问题。
要解决此问题,请为生成 2FA 码的设备开启时间同步。
- 转到 设置 > 系统 > 日期和时间。
- 开启 自动设置时间。如果该设置已开启,请先关闭它,等待几秒钟,然后重新开启。
- 转到 设置 > 通用 > 日期与时间。
- 开启 自动设置。如果该设置已开启,请先关闭它,等待几秒钟,然后重新开启。
生成恢复码时出现 Permission denied (publickey) 错误
您可能会收到 Permission denied (publickey) 错误。
如果您使用的是非默认的 SSH 密钥对文件路径,并尝试 使用 SSH 生成恢复码,就会出现此问题。
要解决此问题,请使用 ssh-agent 配置 SSH 指向不同的目录。
恢复选项和 2FA 重置
如果您已启用 2FA 但无法生成验证码,请使用以下方法之一访问您的账户:
使用恢复码
当您启用 2FA 时,GitLab 为您提供了一系列恢复码。您可以使用这些代码登录您的账户。
要使用恢复码:
- 在 GitLab 登录页面,输入您的用户名或邮箱,以及密码。
- 当提示输入双因素认证码时,输入一个恢复码。
使用恢复码后,您不能再次使用相同的代码。 您的其他恢复码仍然有效。
使用 SSH 生成新的恢复码
如果您已将 SSH 密钥添加到您的 GitLab 账户,您可以使用 SSH 生成一组新的恢复码:
-
在终端中运行:
ssh git@gitlab.com 2fa_recovery_codes在 GitLab 自托管实例上,将
gitlab.com替换为 GitLab 服务器主机名(gitlab.example.com)。 -
在确认消息中,输入
yes。 -
保存 GitLab 生成的恢复码。您之前的恢复码将不再有效。
-
在登录页面,输入您的用户名或邮箱,以及密码。
-
当提示输入双因素认证码时,输入您的新恢复码之一。
登录后,立即使用新设备设置 2FA。
重置您账户的 2FA
- Tier: Premium, Ultimate
- Offering: GitLab.com
如果之前的恢复选项不起作用,您仍然无法登录账户, 您可以创建支持请求来禁用您账户的 2FA。 禁用 2FA 后,请尽快重新启用以保持账户安全。
此服务仅适用于具有 GitLab.com 订阅的账户。有关更多信息,请参阅我们的 博客文章。
要创建支持请求:
- 访问 GitLab 支持。
- 选择 提交工单。
- 如果可能,登录您的账户。
- 在问题下拉列表中,选择 GitLab.com 用户账户和登录问题。
- 完成支持表单中的字段。
- 选择 提交。
为企业用户重置 2FA
如果您是付费计划下的顶级群组所有者,您可以为企业用户禁用 2FA。 有关更多信息,请参阅 为企业用户禁用 2FA。