Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

设置 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 服务,请执行以下操作:

  1. 配置 NETCONF-over-SSH 服务。
    注意:

    通过在层次结构级别配置 [edit system services] and netconf ssh ssh 语句,也可以访问 TCP 端口 22 上的 NETCONF-over-SSH 服务。该ssh语句允许所有用户和应用程序对设备进行 SSH 访问。但是,我们建议对 NETCONF 操作使用默认的 NETCONF 端口,以便您可以更轻松地识别和过滤 NETCONF 流量。

  2. 提交配置。

满足 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 服务,请执行以下操作:

  1. 配置服务。
  2. (可选)根据需要配置连接限制、速率限制和身份验证顺序。
  3. 提交配置。