设置 Junos PyEZ 受管节点
Junos PyEZ 是一个 Python 库,可用于管理和自动化 Junos 设备。您无需在节点上安装任何客户端软件即可使用 Junos PyEZ 管理设备。此外,托管设备不需要 Python,因为 Junos PyEZ 利用 NETCONF 和 Junos XML API 在设备上执行操作。
您可以使用 Junos PyEZ 通过有权访问该设备的任何用户帐户管理 Junos 设备。可以在创建类的新 jnpr.junos.device.Device
实例时显式定义用户,或者如果未在参数列表中指定用户,则用户默认为 $USER
。使用 Junos PyEZ 访问和管理 Junos 设备时,将强制执行 Junos OS 用户帐户访问权限。为 Junos OS 用户帐户配置的类确定权限。因此,如果使用 Junos PyEZ 在设备上加载配置更改,则用户必须具有更改配置相关部分的权限。
Junos PyEZ 允许您使用串行控制台连接、telnet 或通过 SSH 的 NETCONF 会话直接连接到 Junos 设备。要直接远程登录到设备,必须先在受管设备上配置 Telnet 服务。要通过基于 SSH 的 NETCONF 会话来管理设备,必须在受管设备上启用 SSH 或 NETCONF-over-SSH 服务,并确保设备满足 SSHv2 连接的要求。如果客户端应用程序通过单独的控制台服务器连接到设备,则不需要配置这些服务。
本主题概述了使用 Junos PyEZ 通过不同连接协议访问设备时,Junos 设备上的要求和所需配置。
通过 SSH 启用 NETCONF
要在 Junos 设备上的默认端口 (830) 上启用 NETCONF-over-SSH 服务,请执行以下操作:
满足 SSHv2 连接要求
NETCONF 服务器在 NETCONF 会话的上下文中与客户端应用程序进行通信。服务器和客户端在交换数据之前显式建立连接和会话,并在完成后关闭会话和连接。Junos PyEZ 使用 SSH 协议和标准 SSH 身份验证机制访问 NETCONF 服务器。使用 Junos PyEZ 管理 Junos 设备时,访问设备的最便捷方式是配置 SSH 密钥。
要与 Junos 设备建立 SSHv2 连接,必须确保满足以下要求:
在将建立 NETCONF 会话的每台设备上都启用了基于 SSH 的 NETCONF 服务。
客户端应用程序有一个用户帐户,可以登录到将在其中建立 NETCONF 会话的每个设备。
客户端应用程序使用的登录帐户配置了 SSH 公钥/私钥对或基于文本的密码。
客户端应用程序可以访问公钥/私钥或基于文本的密码。
有关在 Junos 设备上启用 NETCONF 并满足建立 SSH 会话要求的更多信息,请参阅 NETCONF XML 管理协议开发人员指南。
配置 Telnet 服务
Junos PyEZ 应用程序可以远程登录到 Junos 设备,前提是设备上配置了 Telnet 服务。为设备配置 Telnet 服务可实现对设备的未加密远程访问。
由于 telnet 使用明文密码(因此会产生潜在的安全漏洞),因此建议您使用 SSH。
要启用 Telnet 服务,请执行以下操作: