如果忘记 JumpServer 的管理员密码,且无法通过其他方式找回或重置密码,需要在数据库中直接修改密码,可以按照以下步骤进行操作(以下步骤适用于使用 Docker 部署的 JumpServer):

  1. 查看 Docker 的进程,找到 JumpServer 对应的容器 ID。可以使用命令`docker ps -a`。

必备:如何在数据库中修改 JumpServer 的管理员忘记密码?

  2. 进入 JumpServer 对应的`jms_core`容器。使用命令`docker exec -it <容器 ID> /bin/bash`。

  3. 切换到`apps`目录,执行以下命令进入 Python 管理 shell:`cd /opt/jumpserver/apps`,`python manage.py shell`。

  4. 在 Python 管理 shell 中,依次执行以下命令修改管理员密码:

  - `from users.models import User`

  - `u = User.objects.get(username='admin')` # 输入管理员的账号,默认为'admin'

  - `u.set_password('新密码')` # 设置新密码

  - `u.save()`

  5. 退出容器,使用新密码重新登录 JumpServer。 请注意,不同版本的 JumpServer 以及不同的部署方式可能会有一些细微差别,如果遇到问题可以参考 JumpServer 的官方文档或相关的技术论坛获取更准确的解决方案。同时,为了系统的安全,建议在重置密码后尽快修改为一个高强度的密码,并妥善保管。

  另外,如果是使用源码安装的 JumpServer,且没有安装 django,需要先执行以下命令进行安装(如已安装则忽略):

  - `python3 -m pip install --upgrade pip setuptools`

  - `python3 -m pip install django`

  然后进入虚拟环境(py3),根据 Python 安装路径执行相应的命令,

  例如:`source /data/opt/py3/bin/activate` ,再执行重置密码的命令:`python3 <安装路径>/apps/manage.py change_password admin` ,按照提示输入新密码(需输入两次)即可

  。