Repolode
ktbyers

ktbyers/netmiko

简化与多厂商网络设备 SSH 命令行连接的 Python 库,用于执行查看命令和配置变更。

Star
4,319
Fork
1,393
未关闭 Issue
60
最近提交
8天前

这是什么?

Netmiko 是基于 Paramiko 构建的 Python 库,用于通过 SSH 连接网络设备并与其命令行界面交互,降低了多厂商设备自动化的门槛。网络自动化常见的工作包括采集 show 命令输出以及下发配置变更,Netmiko 可以在大量设备平台上完成这些操作。

使用时只需传入包含 device_type(如 cisco_ios)等信息的设备字典,再调用 send_command 或 send_config_set 等方法即可,无需为每个厂商编写底层的提示符处理和正则匹配。它还支持以上下文管理器方式使用连接,确保会话在结束后被正确断开。

该项目要求 Python 3.11 及以上版本,可通过 pip 安装。支持的平台列表、示例和 API 文档均随项目提供。

核心功能

  • 01向网络设备发送 show 命令并返回输出。
  • 02自动进入配置模式并下发配置变更。
  • 03通过 device_type 支持多种网络厂商平台。
  • 04支持上下文管理器用法,确保 SSH 会话始终被断开。
  • 05底层基于 Paramiko 实现 SSH 传输。

适用场景

  • 从交换机和路由器集群中采集接口或路由状态。
  • 在多台网络设备上自动化重复性的配置变更。
  • 编写读取设备输出的网络审计或合规检查脚本。

快速上手

  1. 1

    使用 pip 安装 Netmiko

    pip install netmiko
  2. 2

    创建设备字典并用 ConnectHandler 建立 SSH 连接

  3. 3

    使用 send_command 执行 show 命令

使用前须知

  • 需要 Python 3.11 或更高版本,已不再支持 Python 3.10 及更早版本。
  • 专注于通过 SSH 进行 CLI 屏幕抓取,不适用于 API 或非 CLI 管理方式。

收录于专题

标签

#network-automation#ssh#python#paramiko#networking#cli

常见问题

netmiko 是什么?
简化与多厂商网络设备 SSH 命令行连接的 Python 库,用于执行查看命令和配置变更。 Netmiko 是基于 Paramiko 构建的 Python 库,用于通过 SSH 连接网络设备并与其命令行界面交互,降低了多厂商设备自动化的门槛。网络自动化常见的工作包括采集 show 命令输出以及下发配置变更,Netmiko 可以在大量设备平台上完成这些操作。
netmiko 可以免费使用吗?用的什么许可证?
netmiko 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
netmiko 还在维护吗?
活跃维护中。netmiko 最近一次提交是在 2026年10月30日。
netmiko 适合用来做什么?
从交换机和路由器集群中采集接口或路由状态。 在多台网络设备上自动化重复性的配置变更。 编写读取设备输出的网络审计或合规检查脚本。
netmiko 怎么安装和运行?
使用 pip 安装 Netmiko: pip install netmiko 创建设备字典并用 ConnectHandler 建立 SSH 连接 使用 send_command 执行 show 命令
在哪里获取 netmiko?
源代码和安装说明在 GitHub 上:https://github.com/ktbyers/netmiko

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目

开源的网络基础设施“真实数据源”平台,用于建模与记录网络资产,并通过 API 支持自动化。

DevOps 与云#network-automation#ipam#dcim
2.2万+52 本周3188PythonApache-2.0维护活跃更新于 17小时前