今天把一件事收尾了:七亿批量远程管理工具里的 SSH 终端,现在接上了一个 AI 面板。

用法很简单。选中一台机器,打开 AI 助手,顶栏有个「诊断这台机」的按钮。点一下,它就自己开始干活——一条一条下只读检查命令,跑完拿真实回显再决定下一条,最后给你出一份完整诊断报告。要修,回一句「修」就行,它接着往下走。

七亿批量远程管理工具 AI 助手:点「诊断这台机」后自动出的诊断报告

光讲功能没意思,我拿一台真机器跑了一遍,过程直接贴出来。

那台是 Ubuntu 22.04.2,帮一个客户看着的。AI 把只读检查走完,报告第一段就把问题点了:机器本身健康,但欠账不少——软件源三年没更新过,SSH 基本是裸的。

具体列了这几项:

  • 可升级包 317 个,其中 191 个是安全更新;
  • 内核还停在 5.15.0-67,2023 年初的版本;
  • SSH 是 PermitRootLogin yes + PasswordAuthentication yes,纯密码、root 直连,22 端口对公网开着;
  • ufw inactive,iptables 全是 ACCEPT,fail2ban 也没装。

它没瞎报。登录记录里唯一一个成功登录的 IP,就是我当时在线的那个;lastb 也就 2 条失败尝试。所以它给的结论是「无入侵,但安全基线偏弱」,没顺着「被入侵了」往下编故事。

报告末尾它问了句「需要我修吗」。我回了个「修」。

然后它按顺序来:先 apt update 把源刷新——这一步挺关键,那台机器显示的「0 个可升级包」是假的,源索引停在 2023-03-18 没刷新过,刷完 317 个欠账才现出来。接着就是升级、装 fail2ban、开 ufw(它知道先把 22 放行了再启用,不然会把自己关在门外)。

有一点我挺满意:凡是有风险的动作,它都停下来等确认。删日志、带删除的命令、动 SSH 这种可能锁死自己的,会先弹出来问一句,不自己拍板。

修之前我在宝塔面板看过这台机器的安全评分:0 分。一排高危 CVE 挂着。

宝塔面板安全风险扫描:修复前 0 分,高危漏洞一片

跑完之后再看:

宝塔面板安全风险扫描:修复后 83 分,剩 10 个中低危配置项

83 分。剩下那 10 个是中低危的配置项,其中「检测 MySQL 端口」那条宝塔自己标了「无法自动修复」。这个分数是宝塔的规则给的,我只贴事实,不替它吹。

AI 最后回了份复检报告,把每一步的落地情况都念了一遍:

  • 317 个包全打完,剩 0;
  • 新内核 5.15.0-194 装好了,旧内核保留着能回退,但得重启才生效;
  • fail2ban 装了、enabled、active;
  • ufw 启用了,默认拒绝入站,只放行 22,开机自启;
  • 有件事它自己交代了:SSH 目前仍是 root + 密码登录,因为加固要我的公钥,它不能替我生成,所以明确说「没配好密钥之前,不要动 PasswordAuthentication」。

七亿批量远程管理工具 AI 助手:修复完成后的逐项回读(更新数量、内核、fail2ban、ufw)

复检还顺带说了两个小发现。一是多了一块 40G 的空白数据盘 sdb 没挂载——这个我没让它动,格式化是抹盘的事,得我自己决定。二是有个外部 IP 在扫我的 3256 端口,被 ufw 直接拦了(日志里一条 UFW BLOCK),正好是防火墙在干活的证据。它连 fd0 软驱那个 I/O error 都标了,说是无盘虚拟软驱的噪音,无害。

七亿批量远程管理工具 AI 助手复检报告:新盘 sdb、被拦下的扫描、SSH 遗留项

整套诊断加修复,我基本就点了两下、回了一句「修」,剩下的它自己走完了。这跟早前那种「一口气吐一堆命令让你自己跑」的版本,已经不是一个东西了。

护栏还得说清楚:危险命令默认不代跑,要放行得自己勾顶栏的「全部权限」,而且关窗就失效;就算放开了,删数据、格式化这类它也是弹窗确认、不主动执行。这点我盯得比功能还紧——前阵子接了个免费模型,把我一个监控库删了(接了个免费大模型,它把我监控库删了),护栏这东西,是按踩过的坑一条条补出来的,不是配出来的。

想自己试的,工具在七亿批量远程管理工具下载页,SSH 终端和 AI 助手都在里面。之前也写过 AI 助手刚上手时的一些坑(AI 助手记不住自己干过什么),可以一块看。