用途:该技能面向使用 Netmiko 的 Python 网络设备自动化,涉及 Cisco IOS/IOS-XE 等网络设备(而非 Linux 发行版),控制主机只需 Python 3 与 netmiko 包(pip install netmiko),可运行在 Debian/Ubuntu 或 RHEL 系。适用于跨路由器、交换机、防火墙采集 show 输出、编写接口/路由/配置证据的小型审计脚本、为 SSH 脚本补充超时与异常处理、在存在模板时用 TextFSM 解析,以及在生产设备操作前审查自动化。不适用于 Linux 主机配置(应使用 linux-config-management 或 linux-bash-scripting)、人工阅读原始 IOS 配置片段(应使用 cisco-ios-patterns)或推送前校验候选配置(应使用 network-config-validation)。
主要能力与用法:推荐从只读 send_command() 采集开始;使用环境变量、vault 或 getpass 获取凭据,不硬编码;设置 conn_timeout、auth_timeout 与命令 read_timeout;用 ConnectHandler 建立连接并捕获 NetmikoAuthenticationException、NetmikoTimeoutException、ReadTimeout;批量采集可用 ThreadPoolExecutor,并保持较低 max_workers,逐设备返回成功或错误而不中断整批;解析可传 use_textfsm=True、raise_parsing_error=False,解析结果应保留原始输出供人工核对。
安全默认:保持清单小且明确,不扫描整个地址段;凭据不得出现在源码、日志和异常信息中;send_config_set() 需显式操作开关;save_config() 应与初次推送分离并在验证批准后执行;配置变更需有干跑或操作标志,并保留变更前后证据与回滚片段,必要时先经 network-config-validation 检查。
限制:不适合 Linux 主机自动化或人工配置审阅;资料未提供具体收费、平台支持范围或效果数据。