突然用的好好的gitlab版本控制程序报双认证的问题,而且还是root用户,其他用户正常。

用root登录后就是一个报警界面,只有account和application两个目录能用,其他都不能正常显示,提示需要双因素认证 Two-Factor Authentication(2FA)。

gitlab的root用户双认证问题_第1张图片


1、查了很多资料,都说需要手机下载google-authencator application或者 app store,扫描登录界面二维码不成功,填充app产生的六位PIN code也无效。


2、只有想办法将其功能关闭,查看配置文件,没有这方面的配置。在同事协助下,后来在一篇文章中找到了取消双因素验证的命令,如下


gitlab-rails runner 'User.find_each(&:disable_two_factor!)'

成功取消其认证功能,root恢复正常登陆使用


也有说用

1、gitlab-rails runner 'User.update_all(otp_required_for_login: false, encrypted_otp_secret: "")'

2、gitlab-rails 'User.update_all(otp_required_for_login: false, encrypted_otp_secret: nil, encrypted_otp_secret_iv: nil, encrypted_otp_secret_salt: nil, otp_backup_codes: nil)'


    网址如下:

https://stackoverflow.com/questions/31024771/how-to-disable-the-two-factor-authentication-in-gitlab

https://zhangmengpl.gitbooks.io/gitlab-guide/content/gitlab_wiki.html