RMMZit

安装自托管 RMM 并注册第一批计算机

分步指南:从一台空虚拟机到在自己服务器上运行的 RMMZit 控制台,第一批 Windows 和 Linux 计算机开始上报资产清单、指标和警报——大约半小时。

你将设置什么

RMMZit 是免费的开源(AGPLv3)远程监控与管理(RMM)工具。自己服务器上的一个 Web 控制台显示每台计算机的资产清单、监控它并发出警报,让技术人员可以远程工作、运行脚本和安装更新。数据不经过任何厂商的云:服务器在你的网络中运行,计算机上的代理连接到它。

准备工作

  • 一台用于控制台的服务器:VMware、Proxmox VE / KVM 或 Hyper-V 上的小型虚拟机,2 vCPU、2–4 GB 内存、16 GB 或更大的磁盘——或现有的 Debian 12+、Ubuntu 22.04+、AlmaLinux 或 Rocky Linux 9+ 服务器,或一台 Docker 主机。
  • Windows 计算机:Windows 10 / 11 或 Windows Server 2016 及更高版本,64 位。
  • Linux 计算机:任何使用 systemd 的发行版,x86-64 或 ARM64(包括 Raspberry Pi)。
  • 手机上的身份验证器应用(每个账户都使用两步登录)。

整体如何协作

服务器有两个端口:控制台(Web 界面和 API,TCP 8443)和代理端点(TCP 8444)。代理以出站方式连接代理端口,因此被管理的计算机无需开放任何端口。注册时,代理会固定服务器证书的指纹;控制台发出的每条命令都由服务器签名并由代理验证,每个操作都写入防篡改的审计日志。

控制台可以控制每台被管理的计算机。默认情况下它只接受来自私有网络的连接——请保持这一设置,只在网络外的计算机需要时开放代理端口。

第 1 步——安装服务器

所有文件都在发布页面上;下载页面说明了每种方式。现成的虚拟机映像最快:

  • VMware ESXi / Workstation、VirtualBox:部署 rmmzit-appliance.ova。
  • Proxmox VE:创建一台没有磁盘的虚拟机(2 vCPU、2–4 GB 内存、VirtIO 网络),把 rmmzit-appliance.qcow2 复制到节点并导入:
    qm importdisk <vmid> rmmzit-appliance.qcow2 local-lvm
    将磁盘以 SCSI 方式挂载并设为启动盘。
  • Hyper-V:解压 rmmzit-appliance-vhdx.zip,创建以该 VHDX 为磁盘的第 1 代虚拟机。

启动虚拟机。屏幕上会显示控制台地址和设置令牌。设备通过 DHCP 获取地址;如需固定地址、服务器名称或时区,请在虚拟机屏幕上以 rzadmin 登录(初始密码 rmmzit,必须修改)并使用设置菜单。

在现有 Linux 服务器上,安装脚本会完成一切——PostgreSQL、带签名校验的最新版本、使用随机密码的数据库以及服务:

curl -fsSL https://github.com/Max-Zit/rmmzit/releases/latest/download/install.sh | sudo sh

在 Docker 主机上,使用 Docker Compose 运行映像 ghcr.io/max-zit/rmmzit(发布中的 docker-compose.yml 和 .env.example),然后执行 docker compose up -d 和 docker compose exec rmmzit rmmzit-server -setup-token。另外还有用于新虚拟机或物理服务器的 ISO,以及用于自定义安装的 deb/rpm 软件包。

第 2 步——首次登录

  1. 打开 https://<地址>:8443。浏览器会对自签名证书提示一次;之后可以在设置 → 证书中替换。
  2. 输入设置令牌并创建第一个管理员。令牌只能使用一次;脚本安装时它位于 /var/lib/rmmzit/setup-token.txt 和服务器日志中(journalctl -u rmmzit-server)。
  3. 使用身份验证器应用设置两步登录,并把 10 个恢复码保存在安全的地方。

如果允许网络列表把你挡在外面,请在服务器上运行 rmmzit-server --reset-allowlist(设备上:设置菜单第 5 项)。

第 3 步——检查代理地址

代理必须能通过注册码中的地址访问服务器。在设置 → 网络与访问中检查代理地址。对于网络外的计算机,请在防火墙上开放 TCP 8444 并设置公网代理地址,例如 https://rmm.example.com:8444;控制台端口保持关闭。如果你在服务器本机(localhost)打开控制台且没有设置公网地址,站点页面会发出警告——否则代理会尝试连接自己的回环地址。

第 4 步——客户、站点和注册码

  1. 打开客户,添加一个客户(你自己的公司也算一个),并为其添加一个站点——办公室或分支机构。
  2. 在站点上点击创建注册码。选择有效期(1–365 天)以及可使用它的计算机数量。
  3. 复制注册码(RZ1-…)。它包含服务器地址和服务器证书指纹,因此安装程序不需要其他信息。注册码只显示一次;不再需要时请撤销。

第 5 步——在 Windows 上安装代理

在站点页面点击下载代理(MSI,64 位)。在计算机上双击 MSI 并粘贴注册码,或通过脚本或软件分发工具静默安装:

msiexec /i rmmzit-agent-x64.msi /qn ENROLLCODE="RZ1-…"

代理作为 Windows 服务 RMMZit Agent 运行。时钟旁的小图标显示它是否已连接(绿色)以及谁在管理这台计算机。一分钟内,计算机会出现在设备中,带有硬件、软件、磁盘和安全状态。

对于大量计算机,请创建使用次数足够的注册码:站点页面会显示已填入该注册码的组策略启动脚本和 Intune 设置(Win32 应用、安装行为 System、检测规则)。

代理会通过策略关闭 Windows Update 的自动安装,使更新只来自 RMMZit——手动或按你的计划。移除代理后,之前的设置会恢复。

第 6 步——在 Linux 上安装代理

在站点页面下载 Linux 代理(x86-64,或用于 Raspberry Pi 和 ARM 服务器的 ARM64),复制到机器上并以 root 运行:

chmod +x rmmzit-agent-linux-amd64
sudo ./rmmzit-agent-linux-amd64 install --code "RZ1-…"

它会把自己复制到 /usr/local/bin/rmmzit-agent,完成注册并启动 systemd 服务 rmmzit-agent。

下一步

  • 警报和更新:在策略中,客户的 Default 策略设定警报规则、监控和 Windows 自动更新;警报邮件在设置 → 监控与警报中设置。
  • 技术人员:在用户中添加,或连接 Active Directory / LDAP 或单点登录。
  • 代理更新:服务器自带与其版本相同的代理安装程序;设置 → 代理更新可以一次更新所有过时的代理,或让它们自行更新。
  • 备份服务器:把数据库与 /var/lib/rmmzit 一起备份——其中的密钥用于解密已保存的密码,证书则向代理证明服务器的身份。

RMMZit 的全部功能见功能页面,完整参考见文档。欢迎在 GitHub Discussions 提问。企业可以从 MaxZit 获得商业支持(仅提供英文服务)。