3x-ui 忘记密码怎么办?脚本安装和 Docker 部署的重置方法

3x-ui 忘记登录密码是个高频的求助话题,网上搜到的教程大多只讲了脚本安装这一种情况,实际上脚本安装和 Docker 部署这两种方式的重置流程是不一样的,Docker 环境下还有一些容易踩坑的地方,这篇教程分开说清楚。

脚本安装:用 x-ui 命令行菜单重置

如果你是用官方一键安装脚本装的 3x-ui(不是 Docker),重置密码相对简单:

1
x-ui

进入管理菜单后,找到重置账号密码的选项,执行后会把用户名和密码重置为默认的 admin/admin。也可以用命令行参数直接指定新的用户名密码,不用进菜单一步步选:

1
x-ui setting -username <新用户名> -password <新密码>

重置完之后,用新的账号密码登录面板,第一件事记得去个人设置里再改一次密码,避免长期用默认或者过于简单的密码。

Docker 部署:目前情况相对麻烦一些

如果你是用 Docker 或 docker-compose 方式部署的 3x-ui,情况会复杂一些。脚本安装那套 x-ui 命令行菜单是配合 systemd 服务设计的,Docker 容器里默认没有这个入口,社区里能看到不少用户反馈在容器环境下走不通"面板设置里改密码"或者常规重置命令这条路。

这里需要坦白说明:这个问题在 Docker 环境下具体是否已经被完全修复、修复到什么程度,会随着项目版本更新而变化,写这篇文章的时候没能确认到一个明确的"已解决"说法,建议动手之前先去 MHSanaei/3x-ui 的 GitHub Issues 搜一下你当前使用的版本号,看看是不是已经有更省事的官方方案。

目前普遍能用的做法(会清空现有配置,操作前务必先备份):

  1. 找到你挂载出来的数据库目录,一般是 docker-compose.ymldb/ 对应的那个本地路径。
  2. 停止容器:
1
docker compose down
  1. 备份并清空数据库文件(备份是为了万一操作失败还能恢复,别直接删):
1
2
mv ./db ./db_backup_$(date +%Y%m%d)
mkdir db
  1. 重新拉起容器:
1
docker compose up -d

容器重新初始化后会生成新的随机账号密码,具体在哪能看到(日志输出还是生成的文件里),不同版本可能不一样,按你实际用的镜像文档确认。

这个方法的代价:数据库被清空意味着之前配置的所有入站、用户、订阅链接都会跟着没了,等于重新搭一遍。如果只是想找回密码、不想丢配置,最好的办法还是先去 GitHub Issues 或者官方社区确认一下有没有更精细化的方案(比如直接改数据库里的密码字段),而不是直接删库重来。

不管哪种安装方式,这几件事平时就该做

忘记密码这种情况完全可以提前预防,比较简单的几个习惯:

  • 用密码管理工具存好账号密码,不要只靠脑子记。
  • 定期用 3x-ui面板迁移与备份教程 里的方法备份数据库,忘记密码是小事,丢配置才是真麻烦。
  • 面板本身也可以考虑加一层访问限制(比如只允许特定 IP 访问后台),减少被扫描到默认路径的风险,这块可以参考 3x-ui常用命令汇总 里日常维护相关的部分。

如果面板重置完密码还是打不开,大概率是别的原因(端口没放行、访问路径填错等),可以参考 x-ui面板打不开的常见原因和解决方法 继续排查,密码问题和"打不开"问题不是一回事,别搞混了。