24
2024
09
18:34:06

Jumpserver——如何替换多因子认证,JumpServer关闭admin mfa验证、Jumpserver重置特定用户的MFA

当时年少,把多因子认证放到手机管家,一更新找不到了,还好我有数据库权限
比较急,没有查其他方法,直接搞数据库了。

1、连接到jumpserver的数据库

2、找到user_user表

3、将mfa_level和otp_secret_key重置

mfa_level = 0
otp_secret_key 中的值删除掉即可

4、重新登录jumpserver

5、重新启用多因子认证
点击右上角头像->个人信息页面->右边启用多因子认证

6、按着指引来操作即可



背景

因为上一次启动了mfa验证,但是没有验证就关机重启,导致再开机输入密码后需要mfa绑定,但是怎么也无法绑定成功,导致无法登录。


故希望通过后台取消mfa的验证


解决方法

1. 进入docker


docker exec -it jms_core /bin/bash

2. 进入目录


cd /opt/jumpserver/apps

3. 执行管理shell


python manage.py shell

4. 操作admin配置


from users.models import User

 

u = User.objects.get(username='admin')

 

u.mfa_level='0'

 

u.otp_secret_key=''

 

u.save()

重新登录即可



-------------------------------

参考:MFA - JumpServer 文档

https://docs.jumpserver.org/zh/master/admin-guide/authentication/mfa/



被重置MFA的用户名:songtao


# docker exec -it jms_core /bin/bash

 

# root@9e19b6950cd6:/opt/jumpserver# cd /opt/jumpserver/apps

 

# root@9e19b6950cd6:/opt/jumpserver/apps# python manage.py shell

Python 3.8.6 (default, Dec 11 2020, 14:38:29)

Type 'copyright', 'credits' or 'license' for more information

IPython 7.27.0 -- An enhanced Interactive Python. Type '?' for help.

 

In [1]: from users.models import User

 

In [2]: u = User.objects.get(username='songtao')

 

In [3]: u.mfa_level='0'

 

In [4]: u.otp_secret_key=''

 

In [5]: u.save()

最后重新进入界面重新绑定MFA即可




特别提示:


如果安装(docker/docker-compose方式)的时候如果忘记mysql的root密码了可以在如下位置查看


/opt/jumpserver/config/config.txt


连接数据库的命令如下


# docker exec -it jms_mysql mysql -u root -p数据库密码

 

mysql> USE jumpserver;

 

mysql> UPDATE users_user SET mfa_level = 0 WHERE username = 'songtao';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

然后重启服务


理论上这种方式也是可以的,但是未验证,如果感兴趣可以在测试环境验证即可




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/8057.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: