Help us learn about your current experience with the documentation. Take the survey.

双因素认证故障排除

  • 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) 启用密码认证 设置未激活。

要解决此错误:

错误:无效的 PIN 码

无效的 PIN 码 错误可能表明认证应用与 GitLab 实例之间存在时间同步问题。

要解决此问题,请为生成 2FA 码的设备开启时间同步。

  1. 转到 设置 > 系统 > 日期和时间
  2. 开启 自动设置时间。如果该设置已开启,请先关闭它,等待几秒钟,然后重新开启。
  1. 转到 设置 > 通用 > 日期与时间
  2. 开启 自动设置。如果该设置已开启,请先关闭它,等待几秒钟,然后重新开启。

生成恢复码时出现 Permission denied (publickey) 错误

您可能会收到 Permission denied (publickey) 错误。

如果您使用的是非默认的 SSH 密钥对文件路径,并尝试 使用 SSH 生成恢复码,就会出现此问题。

要解决此问题,请使用 ssh-agent 配置 SSH 指向不同的目录

恢复选项和 2FA 重置

如果您已启用 2FA 但无法生成验证码,请使用以下方法之一访问您的账户:

使用恢复码

当您启用 2FA 时,GitLab 为您提供了一系列恢复码。您可以使用这些代码登录您的账户。

要使用恢复码:

  1. 在 GitLab 登录页面,输入您的用户名或邮箱,以及密码。
  2. 当提示输入双因素认证码时,输入一个恢复码。

使用恢复码后,您不能再次使用相同的代码。 您的其他恢复码仍然有效。

使用 SSH 生成新的恢复码

如果您已将 SSH 密钥添加到您的 GitLab 账户,您可以使用 SSH 生成一组新的恢复码:

  1. 在终端中运行:

    ssh git@gitlab.com 2fa_recovery_codes

    在 GitLab 自托管实例上,将 gitlab.com 替换为 GitLab 服务器主机名(gitlab.example.com)。

  2. 在确认消息中,输入 yes

  3. 保存 GitLab 生成的恢复码。您之前的恢复码将不再有效。

  4. 在登录页面,输入您的用户名或邮箱,以及密码。

  5. 当提示输入双因素认证码时,输入您的新恢复码之一。

登录后,立即使用新设备设置 2FA。

重置您账户的 2FA

  • Tier: Premium, Ultimate
  • Offering: GitLab.com

如果之前的恢复选项不起作用,您仍然无法登录账户, 您可以创建支持请求来禁用您账户的 2FA。 禁用 2FA 后,请尽快重新启用以保持账户安全。

此服务仅适用于具有 GitLab.com 订阅的账户。有关更多信息,请参阅我们的 博客文章

要创建支持请求:

  1. 访问 GitLab 支持
  2. 选择 提交工单
  3. 如果可能,登录您的账户。
  4. 在问题下拉列表中,选择 GitLab.com 用户账户和登录问题
  5. 完成支持表单中的字段。
  6. 选择 提交

为企业用户重置 2FA

如果您是付费计划下的顶级群组所有者,您可以为企业用户禁用 2FA。 有关更多信息,请参阅 为企业用户禁用 2FA