Gitlab账户2FA丢失

33

我丢失了手机,并且没有GitLab 2FA的恢复代码。

因此,我无法登录我的账户。
我的选择是什么?

2个回答

121

我知道这是一个旧问题,但以下内容仅经过与gitlab.com免费托管帐户的测试,可能对遇到GitLab双因素认证问题的其他人有用。

如果

  • 您已设置了2fa但由于某种原因无法访问2fa设备,并且
  • 您已经丢失(或从未保存)恢复代码,并且
  • 您以前在您的gitlab.com帐户中配置了ssh密钥

那么...

您可以通过ssh创建全新的一组恢复代码:

ssh git@gitlab.com 2fa_recovery_codes
回答问题并将恢复代码的列表保存在安全的地方!我承认我犯了以上所有问题,这个由GitLab提供的解决方案既简单又优雅。

来源:https://gitlab.com/gitlab-org/gitlab-ce/issues/3765


16
当有人拯救我们生命时,Stack 应该提供一个选项,让我们能够投出尽可能多的赞! - Marcelo Agimóvel
1
运行得非常好,只需确保SSH密钥存在于您的帐户中即可。 - ras
太棒了!你救了我! - Zhong Ri
1
当我这样做时,GitLab 不接受重新生成的恢复密钥。 - Native Coder
1
我丢失了我的背包,里面有我的手机和笔记本电脑。这意味着没有ssh、恢复码或两步验证应用程序。对我来说还有机会吗? - Tien Hoang
显示剩余2条评论

2

nexus6答案同样适用于使用GitLab 15.9(2023年2月)的自托管GitLab。

使用gitlab-sshd更好地控制SSH连接

gitlab-sshd是一个独立的SSH服务器,用Go语言编写,提供比OpenSSH更多的洞察力和控制能力。
它轻量级且包含最少的外部依赖。

如果您托管了自管理实例,从OpenSSH切换到gitlab-sshd可以为您提供指标收集、详细日志记录和优雅关闭SSH连接。

与OpenSSH不同,它支持PROXY协议,并且在代理后操作时可以传递原始IP地址。这使您能够通过IP地址限制SSH访问当您的实例在代理后操作时。

GitLab.com自15.2版本以来一直使用gitlab-sshd,100%的SSH流量都通过gitlab-sshd

要了解更多信息,请阅读此博客文章。 要了解如何启用它,请参阅文档

gitlab-sshd最初是由@lorenz社区贡献的。 非常感谢您的贡献!

请参阅文档问题

这包括 生成新的2FA恢复代码

$ ssh git@<hostname> 2fa_recovery_codes

Are you sure you want to generate new two-factor recovery codes?
Any existing recovery codes you saved will be invalidated. (yes/no)
yes

Your two-factor authentication recovery codes are:
...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接