当时年少,把多因子认证放到手机管家,一更新找不到了,还好我有数据库权限
比较急,没有查其他方法,直接搞数据库了。
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()
重新登录即可
-------------------------------
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
然后重启服务
理论上这种方式也是可以的,但是未验证,如果感兴趣可以在测试环境验证即可
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/8057.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~