Bitbucket 账户可以向你的仓库推送代码、批准拉取请求,并带着你的部署密钥运行 Pipelines——密码一旦被盗,你的代码以及它部署到的地方就都落入了别人手中。开启两步验证后,每次登录 Bitbucket 都会要求输入身份验证器中的验证码;Premium 套餐的工作区还可以要求成员先开启它才能获得访问权限。
在 Bitbucket 开启两步验证
这是 Bitbucket 自己的设置,与 Atlassian 账户的两步验证相互独立:如果两者都开启,会先要求输入 Atlassian 的验证码,再要求输入 Bitbucket 的,而且每个验证码只能用于各自的提示。开始之前,Bitbucket 要求你的 Atlassian 账户有已确认的邮箱地址和密码,还要有一个 SSH 密钥——开启两步验证后,Git 必须通过 SSH 访问你的仓库,Git 客户端和构建工具也必须使用 SSH 或令牌,而不是你的密码。
- 在电脑上登录 bitbucket.org。
- 选择设置齿轮,然后选择「Personal Bitbucket settings」(个人 Bitbucket 设置)。
- 在「Security」(安全)下选择「Two-step verification」(两步验证),查看 Bitbucket 列出的要求。
- 输入 Atlassian 账户密码,然后选择「Set up two-step verification」(设置两步验证)。
- Bitbucket 显示二维码时,保持该页面打开,按下文所述添加到扩展中——或从「Key」(密钥)字段复制密钥——然后在「Verification code」(验证码)字段中输入扩展中的验证码。
将 Bitbucket 添加到 Authenticator
- 从 Chrome Web Store 安装身份验证器 2FA,并把它固定到工具栏,这样点一下图标就能打开。
- 保持 Bitbucket 显示二维码的页面不要关闭。点击 Authenticator 图标,然后依次选择「添加账户」→「二维码」→「从屏幕扫描QR码」。
- 账户会出现在列表中,并显示一个每 30 秒变化一次的六位数验证码。你可以随意重命名——名称只给你自己看。
- 回到 Bitbucket,把当前验证码填入确认框。如果它快要过期,就等下一个。
- Bitbucket 会提示双重验证已开启。之后每次登录都会要求输入验证码——点击扩展图标复制即可。
没有二维码,或者扫不出来?在 Bitbucket 的设置页面找到手动输入密钥的选项,复制密钥,然后在扩展中通过「添加账户」→「手动输入」→「密钥」添加。
免费安装身份验证器 2FA(Chrome 扩展)保存六个 Bitbucket 恢复代码
设置的最后一步会给你六个恢复代码:下载它们,Bitbucket 还建议打印一份,作为最后的退路。把它们存放在这台电脑以外的地方。每个代码只能用一次,像普通验证码一样输入「Verification code」字段即可。至少留两个不用——生成新代码或关闭两步验证时需要两个。在 Two-step verification 页面点击「Show recovery codes」(显示恢复代码)可以再次查看。Atlassian 无法替你关闭 Bitbucket 两步验证,所以这些代码就是你找回账户的途径。
验证码不被接受?
最常见的是二维码变了:每当设置页面被刷新或重新打开,网站都会生成一个新的二维码,所以你先前添加的账户就对不上了。重新开始设置,添加现在屏幕上的二维码,并立即输入它的验证码。同一个网站有两个条目?用最新的那个。其他原因:验证码为什么被拒绝。
密钥是手动输入的?把它粘贴到TOTP 验证码生成器中,对比生成的验证码与扩展中的是否一致。如果不一致,说明密钥复制错了——请重新添加账户。
常见问题
- Bitbucket 两步验证和 Atlassian 账户的两步验证是一回事吗?
- 不是。你的 Atlassian 账户(也用于登录 Jira、Confluence 和 Trello)有自己的两步验证,Bitbucket Cloud 另外还有一套。两者都开启时,你要输入两个验证码,分别来自扩展中的两个不同条目——在 Bitbucket 的提示中使用 Bitbucket 条目。Atlassian 要求的备用方式也不同:是一个紧急恢复密钥,而不是六个恢复代码。
- 哪些身份验证器应用可以用于 Bitbucket?
- Bitbucket 列举了 Authy、Google Authenticator、Duo 和 Microsoft Authenticator,并接受任何支持 TOTP 的应用,手机或电脑上的都可以。Authenticator 扩展能直接读取 Bitbucket 页面上的二维码,并在 Chrome 中生成验证码——不需要手机。
- 开启两步验证后,为什么 git push 不能用了?
- 开启两步验证后,Bitbucket 要求 Git 通过 SSH 访问你的仓库——克隆、推送、拉取和获取都是如此。在账户中添加 SSH 密钥,并把仓库的远程地址改为 SSH 地址;无法使用 SSH 的工具需要用令牌代替你的密码。
- 如果我无法使用身份验证器了怎么办?
- 在「Verification code」字段中输入一个恢复代码,然后关闭再重新开启两步验证,添加新的二维码。没有恢复代码的话,在提示中选择「Forgot code」(忘记验证码)和「Send recovery email」(发送恢复邮件):Bitbucket 会先给你发一封邮件,等待 24 小时——这段等待无法缩短——然后发送一个一次性登录链接,该链接在 24 小时后失效,所以请及时查看收件箱和垃圾邮件文件夹。
验证码就在登录页旁边,一键即得
Authenticator 把你的 2FA 验证码保存在浏览器里,只存放在你自己的设备上——可免费使用、开源,无需注册账户,也不需要手机。内置本地备份和可选的密码保护。
免费安装身份验证器 2FA(Chrome 扩展)