双因素身份验证

双因素身份验证(2FA)为您的GitLab帐户提供了额外的安全级别。一旦启用,除了提供用户名和密码登录外,你还会被提示输入由手机上的应用程序生成的代码。

通过启用2FA,其他人可以登录您的帐户的唯一方法是知道您的用户名和密码打开你的手机。

概述

注意:启用2FA后,不要忘记备份恢复代码。

除了手机应用程序,GitLab还支持U2F(通用第二因素)设备作为认证的第二因素。一旦启用,除了提供用户名和密码登录,你会被提示激活你的U2F设备(通常通过按下它的一个按钮),它会执行安全身份验证代表你。

在这一点上,U2F工作流只支持谷歌浏览器,所以我们强烈建议您设置两种双因素身份验证方法,这样您仍然可以从其他浏览器访问您的帐户。

使2足总

有两种方法可以启用双因素身份验证:通过移动应用程序或U2F设备。

通过移动应用程序启用2FA

在GitLab:

  1. 登录您的GitLab帐户。
  2. 去你的配置文件设置
  3. 账户
  4. 点击启用双因素身份验证

双因素设置

在手机上:

  1. 安装兼容的应用程序。我们建议谷歌身份验证(专有)或FreeOTP(开源)。
  2. 在应用程序中,可以通过以下两种方式之一添加新条目:
    • 用手机摄像头扫描代码,自动添加条目。
    • 输入提供的详细信息以手动添加条目。

在GitLab:

  1. 输入六位数的密码从您的手机上的入口进入Pin码字段。
  2. 点击提交

如果您输入的密码是正确的,您将看到一条消息,表明双因素身份验证已启用,您将看到一个恢复代码列表。

通过U2F设备使能2FA

注:

  • GitLab官方只支持YubikeyU2F设备。
  • 在GitLab 8.8中增加了对U2F设备的支持。

在GitLab:

  1. 登录您的GitLab帐户。
  2. 去你的配置文件设置
  3. 账户
  4. 点击启用双因素身份验证
  5. 插入U2F设备。
  6. 点击设置新的U2F设备
  7. 你的设备上会开始闪烁。按下按钮激活它。

您将看到一条消息,表明您的设备已成功设置。点击注册U2F设备来完成这个过程。

双因素U2F设置

恢复密码

注意:不为U2F设备生成恢复码。

如果你失去了手机的访问权限,你可以使用提供的十个备份代码中的一个来登录你的账户。我们建议复印或打印,存放在安全的地方。每个代码只能使用一次登录您的帐户。

如果丢失了恢复代码或只想生成新的恢复代码,可以从配置文件设置第一次启用2FA的页面。

启用2FA登录

启用2FA的登录与正常登录只有轻微的不同。像往常一样输入您的用户名和密码凭据,您将看到第二个提示,这取决于您启用了哪种类型的2FA。

通过移动应用程序登录

输入手机应用程序中的pin码或恢复码即可登录。

通过OTP登录时的双重身份验证

通过U2F设备登录

  1. 点击通过U2F设备登录
  2. 你的设备上会开始闪烁。按下按钮激活它。

您将看到一条消息,表明您的设备已响应身份验证请求。点击通过U2F设备进行认证来完成这个过程。

通过U2F设备登录时的双因素认证

禁用2足总

  1. 登录您的GitLab帐户。
  2. 去你的配置文件设置
  3. 账户
  4. 点击禁用下,双因素身份验证

这将清除所有双因素身份验证注册,包括移动应用程序和U2F设备。

个人访问令牌

启用2FA后,您不能再使用正常的帐户密码在命令行上通过HTTPS与Git进行身份验证GitLab的API,你必须使用a个人访问令牌代替。

恢复选项

要在您的帐户上禁用双因素身份验证(例如,如果您丢失了代码生成设备),您可以:

使用已保存的恢复代码

为您的帐户启用双因素身份验证会生成几个恢复码。如果您保存了这些代码,您可以使用其中一个登录。

要使用恢复码,请在GitLab登录页面上输入您的用户名/电子邮件和密码。当提示输入双因素代码时,输入恢复代码。

注意:一旦使用了恢复代码,就不能重复使用它。您仍然可以使用您保存的其他恢复码。

使用SSH生成新的恢复代码

在启用双因素身份验证时,用户经常忘记保存恢复码。如果将SSH密钥添加到您的GitLab帐户,则可以使用SSH生成一组新的恢复代码。

  1. 运行SSH git@gitlab.example.com 2fa_recovery_codes
  2. 系统提示您确认是否要生成新代码。继续此过程将使以前保存的代码无效。

    bash$ SSH git@gitlab.example.com 2fa_recovery_codes您确定要生成新的双因素恢复码吗?您保存的任何现有恢复代码都将无效。(是/否)是的您的双因素身份验证恢复码是:119135 e5a3ebce8e11 f6v2a498810dcd3924年c7ab2089c902e79a3398bfe4f22434 bd7b74adbc8861f061691d5107df1a169年bf32a18e63e7fb510e7422e81c94720 dbed24c5e74663df9d3b9403b9c9f0在登录过程中,当提示您的密码时,请使用上面的代码之一双重代码。然后,访问您的配置文件设置并添加一个新设备这样您就不会再次失去访问您的帐户的权限。
  3. 转到GitLab登录页面并输入您的用户名/电子邮件和密码。当提示输入双因素代码时,输入从命令行输出获得的恢复代码之一。

注意:登录后,访问您的配置文件设置>帐号立即在新设备上设置双因素身份验证。

要求GitLab管理员在您的帐户上禁用双因素身份验证

如果您不能使用已保存的恢复码或生成新的恢复码,请要求GitLab全局管理员为您的帐户禁用双因素身份验证。这将暂时使您的帐户处于较不安全的状态。尽快登录并重新启用双因素身份验证。

GitLab管理员注意事项

  • 您需要特别注意2FA之后继续工作恢复GitLab备份
  • 为了确保2FA与TOTP服务器正确授权,您可能希望确保您的GitLab服务器的时间通过NTP等服务同步。否则,可能会遇到由于时差导致授权总是失败的情况。
  • GitLab U2F实现可以当从多个主机名或fqdn访问GitLab实例时工作。每个U2F注册都链接到当前的主机名,不能用于其他主机名/ fqdn。

    例如,如果用户试图访问GitLab实例first.host.xyzsecond.host.xyz

    • 用户通过first.host.xyz并注册他们的U2F密钥。
    • 用户注销并尝试通过登录登录first.host.xyz—U2F认证通过。
    • 用户注销并尝试通过登录登录second.host.xyz—U2F认证失败,因为U2F密钥只注册在first.host.xyz
Baidu
map