Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-09-25. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

使用双重身份验证访问 GitHub

启用 2FA 后,在登录到 GitHub Enterprise Server 时需要提供 2FA 验证码以及密码。

启用双因素身份验证后,需要提供身份验证代码或在通过浏览器访问 GitHub Enterprise Server 时使用安全密钥。 如果使用其他方法访问 GitHub Enterprise Server,如 API 或命令行,则需要使用其他形式的身份验证。 有关详细信息,请参阅“关于向 GitHub 验证”。

在登录网站时执行 2FA

使用密码登录到 GitHub Enterprise Server 后,需要提供身份验证代码或使用安全密钥执行 2FA。

GitHub Enterprise Server 仅在你退出登录后、使用新设备、执行敏感操作或会话过期时才会要求你再次提供 2FA 验证码。 有关针对敏感操作的 2FA 的详细信息,请参阅“Sudo 模式”。

通过 TOTP 应用程序生成代码

如果选择使用 TOTP 应用程序设置双因素身份验证,可随时为 GitHub Enterprise Server 生成验证码。 大多数情况下,只有启动应用程序才会生成新代码。 具体说明请参阅应用程序的文档。

如果在配置双因素身份验证后删除身份验证应用程序,需要提供恢复代码才能访问帐户。 许多 TOTP 应用支持在云中安全地备份验证码,如果你失去对设备的访问权限,可以进行恢复。 有关详细信息,请参阅“丢失 2FA 凭据时恢复帐户”。

使用安全密钥

如果你已对帐户设置了安全密钥,并且浏览器支持安全密钥,可以使用它来完成登录。

  1. 使用用户名和密码,通过浏览器登录到 GitHub Enterprise Server。
  2. 如果使用物理安全密钥,请确保它已连接到设备。
  3. 要从操作系统触发安全密钥提示,请选择“使用安全密钥”。
  4. 在提示中选择相应的选项。 根据安全密钥配置,可以键入 PIN、完成生物识别提示或使用物理安全密钥。

通过命令行使用双重身份验证

启用 2FA 后,将不再使用密码在命令行上访问 GitHub Enterprise Server。 请改用 Git 凭据管理器、personal access token 或 SSH 密钥。

使用 Git 凭据管理器在命令行上进行身份验证

Git 凭据管理器是一个安全的 Git 凭据帮助程序,可在 Windows、macOS 和 Linux 上运行。 有关 Git 凭据帮助程序的详细信息,请参阅 Pro Git 手册中的避免重复

安装说明因计算机操作系统而异。 有关详细信息,请参阅 GitCredentialManager/git-credential-manager 存储库中的下载和安装

在命令行上使用 HTTPS 验证

必须创建 personal access token,用作在命令行上使用 HTTPS URL 向 GitHub Enterprise Server 进行身份验证时的密码。

当命令行上提供用户名和密码时,使用你的 GitHub Enterprise Server 用户名和 personal access token。 命令行提示不会指出在要求输入密码时应输入 personal access token。

有关详细信息,请参阅“管理个人访问令牌”。

在命令行上使用 SSH 验证

启用 2FA 不会更改您在命令行上使用 SSH URL 向 GitHub Enterprise Server 验证的方式。 有关设置和使用 SSH 密钥的详细信息,请参阅“通过 SSH 连接到 GitHub”。

使用双重身份验证通过 Subversion 访问仓库

Note

GitHub 3.13 版中将删除对 Subversion 的支持。 有关详细信息,请参阅 GitHub 博客

通过 Subversion 访问存储库时,必须提供 personal access token,而不是输入密码。 有关详细信息,请参阅“管理个人访问令牌”。

故障排除

如果失去对双重身份验证凭据的访问,您可以使用恢复代码或其他恢复方式(如已设置)重新获取对帐户的访问。 有关详细信息,请参阅“丢失 2FA 凭据时恢复帐户”。

如果身份验证失败多次,您可能要与移动提供商同步手机的时钟。 通常,这需要在手机的时钟上选中 "Set automatically"(自动设置)选项,而不是提供自己的时区。

延伸阅读