指南 › ConfigWatch
其他语言 English · 日本語 · 한국어 · 简体中文
ConfigWatch
只读 SSH 配置备份与逐行差异 — 0.4.5
本版本的变化
- 每次读取已保存的许可证都会重新验证——只由密钥的签名、产品和已签名的到期日决定方案。
- 删除数据文件夹不再会让 30 天试用重新开始。试用开始时间也记录在数据文件夹之外,并以最早的记录为准。检查只在本机进行。
- 许可证栏不再自相矛盾:试用期间显示试用及剩余天数;已过期或无效的已保存密钥标为"未使用",并提供删除按钮。
- Windows 安装程序已进行 Authenticode 签名并带时间戳。
1. 安装
选择与安装机器相符的版本。下面都是当前版本;旧版本列在发布说明页面。
- macOS · Apple silicon ConfigWatch-0.4.5-arm64.dmg
- Windows installer ConfigWatch-0.4.5-x64.exe
- Linux · AppImage ConfigWatch-0.4.5-x86_64.AppImage
- Linux · Debian/Ubuntu ConfigWatch-0.4.5-amd64.deb
请校验下载的文件。公布的校验和在这里: ConfigWatch-SHA256SUMS.txt
macOS 与 Linux:
shasum -a 256 ConfigWatch-0.4.5-arm64.dmg
Windows:
Get-FileHash -Algorithm SHA256 ConfigWatch-0.4.5-x64.exe
macOS 版本已通过 Apple 公证,打开时不会有警告。Windows 安装程序已进行 Authenticode 签名并带有时间戳。由于证书是新的,在积累信誉之前 SmartScreen 仍可能弹出警告,如出现请选择更多信息 → 仍要运行。
2. 首次运行
- 在设备上创建一个只读 SSH 账户。ConfigWatch 不需要更高权限,也不会提权 — 即使在 Yamaha 上也保持普通用户,不会进入
administrator。 - 添加设备并选择厂商,或让它自动识别:Cisco IOS/IOS-XE、MikroTik RouterOS、Ubiquiti EdgeOS/UniFi,以及 Yamaha RTX/NVR/FWX。
- 执行备份。敏感信息在写入磁盘之前就被遮蔽;无法完全遮蔽的配置会被拒绝保存,而不是存下来。
每次安装都以付费版的 30 天试用开始。事先不索取任何东西 — 不要银行卡,不要账户,不要邮箱地址。
3. 运维
Yamaha RTX 尚未在真机上验证
该配置文件是依据 Yamaha 官方文档编写的,厂商列表中也标明未经验证。翻页用空格逐屏进行,而不是发送 console lines infinity — 那条命令即使未保存也会出现在 show config 中,发送它会把我们加进去的一行混进你的备份里。如果你在真机上使用 RTX 并且工作正常,欢迎告诉我们。
回滚
ConfigWatch 从不向设备下发配置。它生成回滚命令,由你审阅后自行执行。如果你保存过 0.4.0 之前版本生成的回滚命令,请重新生成 — 一个影响所有厂商的缺陷会让那些命令先把要删除的变更重新加回去。
免费版与 Pro
免费版可浏览 3 台设备的历史。你登记的设备在所有版本中都会被备份 — 限制的是历史浏览,不是采集。超出上限的设备仍然会列出来,这是有意的:否则你连删除它们的办法都没有。
SSH 主机密钥
从 0.4.4 起,ConfigWatch 会固定每台设备的 SSH 主机密钥。首次连接时记录设备出示的密钥,之后的连接必须出示同一密钥;出示不同密钥的连接会在发送登录信息之前被拒绝 — 宁可让采集失败,也不把只读凭据交给在那个地址上应答的未知对象。记录的密钥保存在数据文件夹中的 known-hosts.json:
- macOS —
~/Library/Application Support/ConfigWatch/known-hosts.json - Windows —
%APPDATA%\ConfigWatch\known-hosts.json - Linux —
~/.config/ConfigWatch/known-hosts.json
它是一个 JSON 对象,每台设备一项,键是你输入的主机和端口,值是设备密钥的 SHA-256 哈希 — 例如 {"192.168.1.10:22":"3f9a…"}。如果你确实更换了设备或重新生成了它的主机密钥,删除该设备的那一项即可;要让所有设备重新登记,也可以删除整个文件。下一次采集会记录新密钥。每次备份开始时都会重新读取这个文件,因此无需重启 ConfigWatch;请在没有备份运行时编辑。
语言
Settings → Language。英文与日文。设备配置正文永远不翻译。
数据存放在哪里
ConfigWatch 保存的一切都留在运行它的那台计算机上。不会发给我们,不会发给分析服务商,也不会发给广告网络。
许可证密钥
密钥在付款后通过邮件发送,在你自己的计算机上校验,因此 ConfigWatch 不会连接许可服务器。30 天试用结束或订阅失效后,ConfigWatch 回到上述免费版的范围:定时备份、回滚命令生成和审计导出停止,已保存的历史保留不变。
4. 防火墙
- 出方向 — 到被备份设备的 SSH(通常是 22 端口)。不需要入方向规则。
5. 连接 MeshWatch Central
可选。Central 把多个产品的告警汇入一个收件箱,并按设备进行关联。 发送到 Central 的只有告警摘要。配置正文不会离开这台计算机。
- 在 Central 打开 Agents,选择 ConfigWatch,填写一个标签,然后按 Issue token。标签不是从别处取来的值,而是你自己起的名字,用来区分不同的安装。令牌只显示一次。
- 在 ConfigWatch 中打开 MeshWatch Central 设置,把 Central 的地址按
http://<central-server>:8443的形式填入,并填入令牌。除非 Central 就运行在同一台机器上,否则请使用服务器地址而不是localhost。 - 勾选把告警发送到 Central 的选项,保存,然后按 Test connection,应当显示成功。
此后产生的告警会出现在 Central 中。过去的告警不会补录。完整步骤见 MeshWatch Central 指南.
6. 排查问题
什么都收不到
通常是防火墙(第 4 节)。若仍然收不到,请确认设备指向的是这台计算机当前的局域网 IP;DHCP 续租可能让地址变了。
连接 Central 的 Test connection 失败
bad-token 表示令牌错误或已吊销 — 请重新签发。unreachable 表示地址不对或被防火墙挡住;Central 服务器上的 8443 端口必须开放。除非在 Central 前面放了反向代理,否则是 http:// 而不是 https://。当前版本中,这些结果以句子形式显示 — Central 拒绝的令牌会说明它可能已被吊销或由另一个 Central 签发;代码本身在鼠标悬停于消息上时显示。
备份失败,提示 “Host denied (verification failed)”
设备出示的 SSH 主机密钥与首次连接时记录的不同,因此 ConfigWatch 拒绝登录。运行结束后的状态行会以主机和端口标出设备,例如 1 failed — 192.168.1.10:22: Host denied (verification failed)。如果你更换了设备或重新生成了密钥,请从 known-hosts.json 中删除它的那一项 — 见 SSH 主机密钥。如果没有,请先查明密钥为何改变再删除:那个地址上可能是别的东西在应答。
采集失败,而没有保存一份较短的配置
这是有意的。如果设备的分页输出在提示符返回之前停止,ConfigWatch 会丢弃本次采集并报告 The configuration did not finish printing (stopped after N of M pages), so nothing was stored rather than storing a truncated copy. 否则截断的副本会被当作当天的配置保存,显示为一次很大的虚假变更。请再运行一次备份;如果同一台设备持续失败,请写信给支持并注明厂商和型号。
所有产品共通的问题
升级后窗口空白、Ubuntu 24.04 无法启动、没有 keyring 的 Linux 上凭据以明文保存、告警邮件没有送达 — 这些在各产品上是一样的,集中放在支持页面。
仍然没有解决
请把版本号和你预期发生的情况发到 support@meshwatch.app。我们在工作日两个营业日内首次回复。