无代理架构怎么工作
无代理(agentless)指被管节点上不安装常驻执行程序,控制端按需通过标准远程协议登录并执行任务:Linux 与网络设备走 SSH,Windows 走 WinRM,网络设备还可走厂商提供的命令行接口。任务执行期间才建立连接,执行完即断开。它的优势是接入成本低、不改变被管节点的软件环境;代价是每次执行都要握手与传输,且无法在被管节点上保留状态与实时上报能力。
基本信息
| 连接方式 | SSH、WinRM、网络设备的命令行接口 |
|---|---|
| 被管节点要求 | 开放远程协议端口,具备可用账号与权限 |
| 控制端要求 | 集中保存连接凭据与主机清单 |
| 典型代表 | Ansible 默认连接方式、多数网络设备自动化工具 |
适用场景
- 网络设备:交换机与路由器通常不允许安装第三方代理,只能走命令行或接口。
- 合规限制严格的生产主机:不允许新增常驻软件或额外开放端口。
- 临时与第三方主机:托管方或合作方主机只需短期纳管,不适合安装代理。
- 低频变更场景:每天甚至每周才执行一次的任务,连接开销可以忽略。
- 接管历史环境:先自动化再逐步规范,无代理接入阻力最小。
优势与局限
| 维度 | 表现 | 影响 |
|---|---|---|
| 接入成本 | 低,具备远程协议即可 | 适合纳管历史遗留主机 |
| 被管节点侵入性 | 无,不装常驻程序 | 合规与变更审批阻力小 |
| 实时性 | 按需执行,无常驻上报 | 不适合秒级监控与持续收敛 |
| 规模扩展 | 控制端承担连接与执行开销 | 大规模并发需要编排与限速 |
| 连接稳定性 | 受网络与远程服务状态影响 | 需处理超时与重试 |
无代理不等于无凭据:控制端必须集中保管登录凭据,因此控制端的权限与审计等级要按最高敏感度对待,通常需要独立账号、最小权限与操作留痕。
网络设备的无代理接入要额外考虑执行通道:多数设备只支持单会话交互式命令行,命令回显格式随厂商与版本不同,建议把差异封装在少量模块或模板里,避免把设备型号判断散落进每个任务。