UniFi 控制器密码重置

UniFi Contoller password reset

我最近被锁定在我的 UniFi 控制器(本地安装)之外,我的远程访问也被关闭了。 控制器安装在 Windows 10 (20H2) VM 上。我可以很好地进入虚拟机,但是当我尝试登录本地主机网站时,它不喜欢我认为我设置的密码。

在四处寻找并查看各种答案后,我能够整理出一套对我有用的说明。我想我会在这里分享这些。如果这些在 Mac 或 Linux 上不起作用,请告诉我,因为我只在 Windows.

上测试过

Mongo

Windows、Mac 和 Linux:

找出 UniFi 控制器安装的 mongodb 版本:

%UserProfile%/Ubiquiti UniFi/Logs

mongo.log 文件的第 3 行将显示数据库版本号,我的情况是:

I CONTROL  [initandlisten] db version v3.4.15

访问https://www.mongodb.com/try/download/community

在 MongoDB Community Server 区域,将版本更改为最接近您的控制器的版本,在我的例子中是 3.4.24

OS 应默认为您当前的 OS Windows/Mac/Linux

Select 包类型 zip 因为除非你想安装这个版本的 mongo,否则你只想 运行 可执行文件.

下载解压

CMD/Terminal

以管理员身份启动 CMD/Terminal

在 CMD 中导航到解压缩的 mongo 安装文件夹的子文件夹 'bin'。 类型:

mongo --port 27117

use ace

db.admin.find()

复制 “_id” 键和值

复制 "x_shadow" 键和值

mkpasswd

Linux/Mac:

接下来您需要安装 whois 软件包才能访问 mkpasswd 实用程序

  • 例如:对于 Ubuntu:sudo apt install whois

Windows:

使用 WSL linux 发行版或者您可以交替使用 Cygwin Utilities which has the required mkpasswd 实用程序

UniFi mongo 安装的盐是 9Ter1EZ9$lSt6

运行:

mkpasswd --method=sha-512 --salt=9Ter1EZ9$lSt6 your-new-password

将结果复制到文本文件

将以下内容添加到同一个文本文件中,并使用您刚刚生成的数据更新 x_shadow

db.admin.update({ "_id" : ObjectId("your-ObjectId-value-string")},{$set: {"x_shadow" : "result-of-mkpasswd-here"}})

CMD/Terminal

将以上内容复制并粘贴到cmd

UniFi 控制器

使用您的电子邮件和新密码登录 UniFi 控制器

注意:您还可以更新电子邮件或用户名,但这不应该 需要,因为您将从 运行ning db.admin.find()

的转储中获取该信息

使用的来源:

- https://www.robsblog.co/2018/10/how-to-reset-unifi-controller-admin-password-without-email-including-32bit/

注意:Rob 在 'https://quickhash.com/crypt3-sha512-online' 的博客中提到的站点似乎不活跃 不再有类似名称的 quickhash-gui.org 不提供我能找到的盐选项。