|
|
先说痛点
市面上的「AI SSH 工具」,说白了大多还是个命令生成器:你问一句,它扔回来一段脚本,一把全执行。用下来三个通病:
· 高危和只读一个待遇,查个日志和 reboot 一个样,说发就发;
· 一重启就断线,断了就没下文,任务成没成全靠自己再登上去猜;
· 做完不复检、不留痕,出了事没法回溯,也没法复盘。
我做的这个(七亿批量远程管理工具里的 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 '=== 源里可升级内核 ==='; 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/
现在是免费内测阶段,欢迎拿真实的运维场景来试,出问题找我修。 |
|