市面上的「AI SSH 工具」,说白了大多还是个命令生成器:你问一句,它扔回来一段脚本,一把全执行。用下来三个通病:高危和只读一个待遇、一重启就断线没下文、做完不复检不留痕。

我做的这个(七亿批量远程管理工具里的 AI 助手)思路反过来:AI 负责想,人负责批。刚拿一台测试机跑了一次真实的 Ubuntu 内核升级 + 全量补丁更新,全程贴出来。


一、一句人话下需求

我说的是「检查系统更新,把内核升到最新,顺便把安全补丁也打上」。没写命令、没指定 apt 参数,就一句人话。

输入需求

二、AI 先体检,再给分步计划,每条命令标风险等级

它没把脚本一把甩出来,而是先跑一轮只读体检(登录记录、防火墙、fail2ban、待升级内核),再给分步计划,每条命令标风险级:

  • uname -r / apt list --upgradable —— 只读查询(🟢 直接跑)
  • apt-get install linux-image-generic —— 会改动系统(🔴 需确认)

分步计划 + 风险等级

首轮体检的真实日志(命令和回显都带时间戳):

❯ [14:13:53] echo '=== 成功登录(最近5) ==='; grep 'Accepted' /var/log/auth.log | tail -5; echo '=== 在线 ==='; who; echo '=== 失败尝试数 ==='; lastb | wc -l; echo '=== ufw ==='; ufw status; echo '=== fail2ban ==='; systemctl is-active fail2ban; echo '=== root crontab ==='; crontab -l; echo '=== 源里可升级内核 ==='; apt list --upgradable | grep -i linux-image; echo '=== 已装内核 ==='; dpkg -l 'linux-image*' | grep ^ii | awk '{print $2,$3}'
=== 成功登录(最近5) ===
Accepted password for root from x.x.x.x port 11879 ssh2
=== 失败尝试数 ===
2
=== ufw ===
Status: inactive
=== fail2ban ===
inactive
=== 源里可升级内核 ===
linux-image-generic/jammy-updates,jammy-security 5.15.0.198.171 amd64 [upgradable from: 5.15.0.67.65]
=== 已装内核 ===
linux-image-5.15.0-67-generic 5.15.0-67.74
linux-image-5.4.0-29-generic 5.4.0-29.33
linux-image-generic 5.15.0.67.65

三、高危命令必须「打字确认」

真正改系统那一步,弹窗直接拦下来。注意关键字——要手动输入「确认」两个字才放行,点一下「执行」不算数。

危险命令确认弹窗

黄色弹窗 + 红色二次确认

四、执行升级,命令实时回显

确认后才真正执行,右侧是命令的实时回显(时间戳跟左侧对话同一时刻)。

执行回显

❯ [14:19:35] DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::=--force-confold install linux-image-generic linux-headers-generic
3 upgraded, 5 newly installed, 0 to remove and 314 not upgraded.
Setting up linux-image-5.15.0-198-generic (5.15.0-198.208) ...
I: /boot/vmlinuz is now a symlink to vmlinuz-5.15.0-198-generic
NEEDRESTART-KCUR: 5.15.0-67-generic      ← 当前还在旧内核
NEEDRESTART-KEXP: 5.15.0-198-generic     ← 要重启才生效

五、装好了,但得重启才生效

新内核装完,「当前内核」和「期望内核」对不上,工具直接在对话里点明「需要重启才能加载新内核」。

安装完成等待重启指令

六、reboot:超级高危 + 断线守候

重启命令同样要确认。一旦执行,SSH 必然断开——别的工具到这一步基本就结束了,我们这才到一半。后台持续探测端口,机器一起来就自动重连、接着往下走:

❯ [14:22:23] reboot
(无输出 · 连接断开)
———— 守候重连后 ————
❯ [14:23:50] echo '=== 在跑内核 ==='; uname -r; echo '=== 运行时间 ==='; uptime; echo '=== sshd ==='; systemctl is-active ssh
=== 在跑内核 ===
5.15.0-198-generic
=== 运行时间 ===
 08:23:50 up 1 min, 1 user, load average: 0.32, 0.17, 0.06
=== sshd ===
active

重启完 1 分钟,新内核 5.15.0-198 已经在跑,SSH 服务正常——说明守护进程真的把它等回来了。

七、自动复检 + 顺带给出其他建议

端口一恢复,它自动重新登录、复检内核版本和服务状态,并顺带指出遗留的安全项(比如防火墙、fail2ban 没开),给出下一步建议。

重启完成等待同意复检

复检完成并给出其他意见

八、按 AI 的建议,把剩下的补丁也打完

复检时它指出「还有 317 个包待升级、其中 30 个被 kept back」,问我要不要一起处理。同意之后继续走确认流程,从 upgrade 到 dist-upgrade,一路把滞留包也清掉:

❯ [14:25:08] apt-get -y -o Dpkg::Options::=--force-confold upgrade
284 upgraded, 0 newly installed, 0 to remove and 30 not upgraded.

❯ [14:34:51] apt-get -y -o Dpkg::Options::=--force-confold dist-upgrade
30 upgraded, 42 newly installed, 4 to remove and 0 not upgraded.

❯ [14:36:14] echo '=== 剩余可升级包数 ==='; apt list --upgradable | grep -c upgradable; echo '=== ssh 服务 ==='; systemctl is-active ssh; echo '=== dpkg 审计 ==='; dpkg --audit
剩余可升级包数: 0
ssh 服务: active
dpkg 审计: (空)

开始更新全部系统补丁

补丁更新完成

从 317 个待升级到 0,SSH 全程在线、dpkg 审计干净。

九、全程留痕,一键导出

整个过程——对话、每条命令、每次人工确认、执行回显——全留痕,一键导出一份带时间戳的完整记录(这次 11 条命令)。出了事能回看,方便复盘。

导出的命令+回显记录(记事本打开)

十、和常见的 AI SSH 工具比一比

只列能力,不点名:

能力常见 AI SSH 工具本工具
生成命令✅✅
分步执行 + 风险分级❌ 常一次性下发✅ 每条标级
高危操作强制人工确认❌✅ 打字确认
重启断线守候 + 自动重连续任务❌✅
重连后自动复检 + 结果解读❌✅
恶意软件处置套路库(线上热更新)❌✅
机器档案(越用越懂这台机器)❌✅
全程审计导出部分✅ 对话/命令/确认/回显全留痕

一句话:AI 负责思考、诊断、给方案;任何会改系统、断业务的高危动作,必须人工确认才执行。

七亿批量远程管理工具的安装包已做数字签名(右键属性 → 数字签名可核验)。下载与说明:https://rdp.7ehl.com/

现在是免费内测阶段,欢迎拿真实的运维场景来试,出问题找我修。