【问题标题】:How to disable the Two-factor authentication in GitLab?如何在 GitLab 中禁用双因素身份验证?
【发布时间】:2015-06-24 11:00:08
【问题描述】:

我更改了 gitlab 服务器。在旧的我已经创建了一个备份,现在我已经将备份导入到新系统中。一切正常!

现在我遇到了一个问题,由于双重身份验证,我无法登录。我想,秘盐变了。

这是日志:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"[FILTERED]", "user"=>{"otp_attempt"=>"[FILTERED]"}}

Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.9ms)

OpenSSL::Cipher::CipherError (bad decrypt):
app/controllers/sessions_controller.rb:95:in valid_otp_attempt?'
app/controllers/sessions_controller.rb:63:in authenticate_with_two_factor'

如何禁用一个用户的双因素身份验证?

问候

【问题讨论】:

    标签: gitlab


    【解决方案1】:

    适用于希望仅为单个用户禁用 2FA 的任何人。我找到了一个可行的解决方案:

    User.where(username: "username_goes_here").each(&:disable_two_factor!)

    【讨论】:

      【解决方案2】:

      此命令开启了所有用户的双重身份验证sudo gitlab-rails runner 'User.update_all(otp_required_for_login: false, encrypted_otp_secret: "")'

      【讨论】:

      • as @xer0x said 我需要设置 encrypted_otp_secret: nil 否则在尝试重新设置双因素时密钥为空白。设置为 nil 强制 gitlab 生成新密钥
      【解决方案3】:

      Gitlab 已将禁用所有用户双重身份验证的命令更新为:

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

      @poldixd 的回答应该仍然有效。如果它没有尝试将 encrypted_opt_secret 设置为 nil 而不是 ""

      在这里找到这个: https://gitlab.com/gitlab-org/gitlab-ce/issues/1960

      【讨论】:

        【解决方案4】:

        对于从源代码安装,您可以运行

        cd /home/git/gitlab
        sudo -u git -H bundle exec rails console production
        

        获取一个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)
        

        运行命令。

        【讨论】:

          【解决方案5】:

          我为所有用户禁用了 Gitlab Docker 的 2FA:

          sudo -u git -H bundle exec rake gitlab:two_factor:disable_for_all_users RAILS_ENV=production

          【讨论】:

            【解决方案6】:

            我意识到 OP 很旧,但我只是第一次遇到这种情况,并整理了以下步骤,以便在用户帐户上启用重置 2FA:

            1. 以 Gitlab 管理员身份登录。
            2. 通过 Admin\Users 面板查找锁定的用户。
            3. 将用户密码重置为临时密码(保留副本)。
            4. 打开被锁定用户的个人资料。
            5. 点击右上角的“模拟”。
            6. 现在用户点击“编辑配置文件”。
            7. 点击帐户,点击“管理双因素身份验证”。
            8. 输入步骤 3 中的密码,然后: 一个。单击“禁用双因素身份验证”并让用户重新启用,或 湾。点击“重新生成恢复代码”并将其传递给用户。

            在任何一种情况下,您还需要向用户提供新的临时密码。

            【讨论】:

              猜你喜欢
              • 2014-07-12
              • 2014-05-05
              • 1970-01-01
              • 1970-01-01
              • 2017-07-21
              • 2013-11-21
              • 1970-01-01
              • 2022-07-25
              • 2019-07-10
              相关资源
              最近更新 更多