jumpserver 无法绑定MFA,多因素认证也无法登录,提示* 虚拟 MFA 验证码错误,或者服务器端时间不对

jumpserver 无法绑定MFA,多因素认证也无法登录,提示* 虚拟 MFA 验证码错误,或者服务器端时间不对。

已确认服务器时间同步没问题

原因找到了,是jms_mysql的时区问题

进入容器

docker exec -it -u root jms_mysql /bin/bash

查看当前时区配置

cat /etc/timezone # 应显示 Etc/UTC
ls -l /etc/localtime # 应指向 /usr/share/zoneinfo/Etc/UTC
date # 显示UTC时间(如Fri Oct 17 06:15:59 UTC 2025)
强制设置中国时区

创建软链接指向上海时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

覆盖时区配置文件

echo “Asia/Shanghai” > /etc/timezone

验证时区变更

date # 应显示CST时间(如Fri Oct 17 14:15:59 CST 2025)
cat /etc/timezone # 确认显示 Asia/Shanghai
重启容器服务
docker restart jms_mysql jms_core jms_celery