关于通行密钥
通行密钥允许您在浏览器中安全地登录 GitHub,无需输入密码。
如果您使用两因素认证(2FA),通行密钥同时满足密码和 2FA 的要求,您只需一步即可完成登录。若您未使用 2FA,使用通行密钥将跳过通过电子邮件验证新设备的步骤。您还可以在 sudo 模式下以及重置密码时使用通行密钥。
通行密钥是一对加密密钥(公钥和私钥),由您控制的身份验证器存储。身份验证器可以证明用户在场并获得使用通行密钥的授权。根据身份验证器的功能和配置,授权可通过 PIN 码、验证码、生物识别或设备密码来完成。身份验证器有多种形态,例如 iPhone 或 Android 设备、Windows Hello、FIDO2 硬件安全密钥,或密码管理器。
当您使用通行密钥登录 GitHub 时,您的身份验证器会利用公钥加密向 GitHub 证明您的身份,而永不发送通行密钥本身。通行密钥绑定到特定网站域名,例如 GitHub.com,并且需要安全连接,这意味着网页浏览器会拒绝向模仿的钓鱼网站进行身份验证。这些特性使通行密钥对钓鱼攻击具有极高的抵抗力,也比可以被钓鱼的短信或 TOTP 两因素认证更难被攻击。
云端支持的通行密钥服务可以在设备之间同步通行密钥(例如 Apple 设备、Android 设备或密码管理器),这样就能在更多场景下使用,且不易丢失。只要在一台设备上设置了同步的通行密钥,该通行密钥即可在使用同一服务的多台设备上使用。例如,您使用 MacBook 的 Touch ID 将通行密钥注册到 iCloud 账户后,便可以在同一 iCloud 账户绑定的多台设备上,以面容、指纹、 PIN 或设备密码等方式随意使用该通行密钥。
有关将通行密钥添加到您账户的更多信息,请参阅 管理通行密钥。
对于使用 2FA 的用户,如果您已经在账户中注册了符合通行密钥条件的安全密钥用于 2FA,您可以在账户设置中将这些已有凭证升级为通行密钥。使用符合条件的安全密钥登录时,系统也会提示您是否将其升级为通行密钥。更多信息请参阅 管理通行密钥。
关于身份验证器
某些身份验证器支持在附近设备上使用通行密钥。例如,您可能想使用一台未设置通行密钥的蓝牙笔记本电脑登录 GitHub。如果您已在手机上注册了通行密钥,可以选择扫描二维码或向手机发送推送通知,以安全完成登录。更多信息请参阅 使用通行密钥登录。
其他身份验证器会创建绑定设备的通行密钥,也就是说它们只能在单个身份验证器上使用。这类通行密钥无法备份或迁移到其他身份验证器。部分通行密钥提供商在创建通行密钥时可能会提供“绑定设备”的选项,而其他提供商则可能不提供在“绑定设备”和“同步”通行密钥之间的选择。
身份验证器也可以是便携设备。存储在 FIDO2 硬件安全密钥上的通行密钥同样是“绑定设备”的,但它们具有便携的优势,可通过 USB、NFC 或蓝牙等多种方式连接到其他设备。在某些平台和浏览器组合下,FIDO2 安全密钥可能是唯一可使用通行密钥的方式。
欲了解您的设备和操作系统是否支持通行密钥,请参阅 Passkeys.dev 文档中的 设备支持,以及 CanIUse 文档中的 Web Authentication API。
反馈
您可以向 GitHub 分享关于通行密钥的反馈。想加入讨论,请访问 [反馈] 通行密钥用于无密码认证。