fleetdfleetd
指南
设计
  • English
  • 简体中文
GitHub
指南
设计
  • English
  • 简体中文
GitHub
  • 介绍
  • 快速开始
  • 部署服务端
  • 接入机器
  • 命令和终端
  • 客户端更新
  • 告警
  • 配置参考
  • 常见问题

接入机器

安装客户端

打开「设置 → 接入新机器」,选好权限,复制命令,在机器上以 root 执行:

curl -fsSL https://fleetd.example.com/install.sh | sh -s -- --permission full

没有 curl 的 OpenWrt 用下面的 wget 版:

wget -qO- https://fleetd.example.com/install.sh | sh -s -- --permission full

脚本会:

  • 识别 systemd 或 OpenWrt 的 procd,装成系统服务,程序退出后自动拉起;
  • 从你的服务端下载对应架构的最新签名版本,并先试运行一次;
  • 写入 /etc/fleetd/agent.yaml(权限 600),包括服务端地址和公钥、发布公钥、权限级别,以及后台登记过的所有签名公钥;
  • 输出这台机器的指纹。

同一条命令可以在多台机器上用。在已经装过的机器上再执行,只会替换程序、保留配置,可以当作手动升级。

参数

参数含义
--permission monitor|allowlist|full签名命令在这台机器上能做什么(默认 monitor)
--server URL客户端连接地址,例如内网的 ws://10.0.0.1:8480/agent/ws
--signer KEY额外信任一把签名公钥,可以重复;后台登记的公钥总是会带上

批准或拒绝

新机器会出现在「机器 → 等待批准」里,显示主机名、来源 IP 和指纹。只有指纹和安装时输出的一致(或和机器上 fleetd-agent fingerprint 的输出一致)才批准。批准之前,它发来的数据一概不收,也收不到命令。

批准后客户端会在一分钟内重新连接并开始上报。

不认识的机器点「拒绝」。它的公钥会进入拒绝名单,之后再连会在握手阶段被挡掉。被拒绝的机器列在「设置 → 已拒绝的机器」,可以解除。

提示

任何能访问到服务端的人都能申请批准,所以待批准的机器最多 50 台。真正授予权限的是批准这一步,核对指纹很重要。

权限级别

每台机器的权限写在它自己的 /etc/fleetd/agent.yaml 里,服务端改不了。

级别允许
monitor只上报监控数据,拒绝所有命令和终端
allowlist只能执行配置里定义好的动作,参数固定
full以 root 执行任意命令,以及网页终端;仍然必须用受信任的密钥签名

白名单的写法:

permission: allowlist
allowlist:
  restart-nginx: [systemctl, restart, nginx]
  reload-wireguard: [systemctl, reload, wg-quick@wg0]

改完配置后重启客户端:systemctl restart fleetd-agent,OpenWrt 上是 /etc/init.d/fleetd-agent restart。

信任的签名公钥

客户端配置里的 trusted_signers 列出它接受哪些管理员密钥签的命令。一键安装时会自动填入「设置 → 签名密钥」里登记的公钥。之后新增了密钥(换了浏览器、增加了管理员),要手动加到之前装好的机器上:

trusted_signers:
  - <原来的公钥>
  - <新公钥>

要撤销一把密钥,需要在每台机器的这个列表里删掉它。在后台删除只会让之后新装的机器不再信任它。

改名和删除

点机器名旁边的铅笔图标改名。「删除机器」会删除记录和历史数据;如果客户端还在运行,它会重新出现在等待批准里。要彻底移除,请先卸载客户端,或在等待批准时点「拒绝」。

卸载客户端

systemd
systemctl disable --now fleetd-agent
rm -f /etc/systemd/system/fleetd-agent.service /usr/local/bin/fleetd-agent*
rm -rf /etc/fleetd /var/lib/fleetd
OpenWrt
/etc/init.d/fleetd-agent disable; /etc/init.d/fleetd-agent stop
rm -f /etc/init.d/fleetd-agent /usr/bin/fleetd-agent*
rm -rf /etc/fleetd
sed -i '\#^/etc/fleetd/$#d' /etc/sysupgrade.conf
在 GitHub 上编辑此页
最后更新: 2026/11/3 11:50
贡献者: weiyi
Prev
部署服务端
Next
命令和终端