Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

满足建立与 Junos XML 协议服务器连接的先决条件

要使客户端应用程序建立与 Junos XML 协议服务器的连接,您必须满足适用于所有访问协议以及您在以下部分中讨论的特定访问协议的要求:

所有接入协议的先决条件

客户端应用程序必须能够登录到与 Junos XML 协议服务器建立连接的每个设备。以下说明说明说明如何为应用程序创建 Junos 登录帐户。或者,您可以跳过本部分并通过 RADIUS 或 TACACS+启用身份验证。有关创建用户帐户和启用身份验证的详细信息,请参阅 Junos OS 路由设备用户访问和身份验证用户指南

要确定运行 Junos OS 的设备上是否存在登录帐户,请在设备上进入 CLI 配置模式并发出以下命令:

如果不存在适当的帐户,请执行以下步骤:

  1. 在层次结构级别中[edit system login]包括语user句并指定用户名。class还包括层次结构级别的[edit system login user username]语句,并指定具有应用程序执行所有操作所需的权限的登录类。或者,包括和full-nameuid语句。
  2. 通过在层次结构级别上包括 plain-text-passwordencrypted-password 语句,为帐户创建基于文本的 [edit system login user account-name authentication] 密码。
    注意:

    如果帐户用于通过带有公共/私有密钥对的 SSH 访问 Junos XML 协议服务器以进行认证,则并非严格要求基于文本的密码,但我们建议无论如何创建一个。如果帐户仅用于 SSH 访问,则密钥对仅足够,但如果帐户也用于任何其他类型的访问(例如,用于控制台登录),则需要密码。如果配置了基于密钥的身份验证但失败了,也会使用密码(SSH 服务器提示符)。有关创建公钥/私有密钥对的信息,请参阅 SSH 连接的先决条件

    要以文本形式输入密码,请发出以下命令。系统会提示您输入密码,密码在存储之前加密。

    要存储之前使用消息摘要 5 (MD5) 或安全散列算法 1 (SHA-1) 创建和散列的密码,请发出以下命令:

  3. commit发出 命令。
  4. 在客户端应用程序建立 Junos XML 协议会话的每个设备上重复前面的步骤。
  5. 当 Junos XML 协议服务器出现提示时,允许客户端应用程序访问密码并提供密码。有几种可能的方法,包括以下方法:
    • 对应用程序进行编码,以便在启动时提示用户输入密码,并以安全 的方式暂时存储密码。

    • 将密码以加密格式存储在安全的本地磁盘位置或安全数据库中,并对其进行代码访问。

清除文本连接的先决条件

使用 Junos XML 协议特定的明文访问协议的客户端应用程序可通过 TCP 连接直接发送未加密文本,而无需使用任何附加协议(如 SSH、SSL 或 Telnet)。

注意:

运行 Junos-FIPS 软件的设备不接受 Junos XML 协议明文连接。我们建议您不要在通用标准环境中使用明文协议。有关更多信息,请参阅 《通用标准和 Junos-FIPS 安全配置指南》。

要使客户端应用程序可使用明文协议连接到 Junos XML 协议服务器,请执行以下 步骤:

  1. 验证应用程序是否可以访问 TCP 软件。在大多数操作系统上,标准分布可访问 TCP。在运行应用程序的每个计算机上执行此操作。
  2. 满足在 所有访问协议的先决条件中讨论的先决条件。
  3. 将运行 Junos OS 的设备配置为接受端口 3221 上客户端应用程序的明文连接,方法是将语句包含xnm-clear-text[edit system services]层次结构级别。

    默认情况下,Junos XML 协议服务器最多支持 75 个同时清除文本会话和每分钟 150 次连接尝试。或者,您可以包括或同时 connection-limit 包含限制并发会话数的语句和 rate-limit 限制连接尝试次数的语句。两种语句均接受 1 到 250 的值。

    有关该语句的 xnm-clear-text 详细信息,请参阅 为 Junos XML 协议客户端应用程序配置明文或 SSL 服务

  4. 提交配置。
  5. 在客户端应用程序建立 Junos XML 协议会话的每个设备上重复步骤 2 到步骤 4

SSH 连接的先决条件

要使客户端应用程序使用 SSH 协议连接到 Junos XML 协议服务器,请执行以下步骤:

  1. 允许应用程序访问 SSH 软件。

    获取 SSH 软件并在应用程序运行的计算机上安装。有关获取和安装 SSH 软件的信息,请参阅 http://www.ssh.comhttp://www.openssh.com

  2. 满足在 所有访问协议的先决条件中讨论的先决条件。
  3. (可选)如果您要为应用程序使用基于密钥的 SSH 身份验证,请创建公钥/私钥对,并将其与您在 “所有访问协议先决条件”中创建的 Junos OS 登录帐户相关联。执行以下步骤:
    1. 在客户端应用程序运行的计算机上工作时,请在标准命令外壳(而非 Junos OS CLI)中发出 ssh-keygen 命令。通过提供适当的参数,您可以使用 SSH 版本 2 支持的 RSA(受 SSH 版本 1 和 2 支持)或数字签名算法 (DSA) 对公钥进行编码。有关详细信息,请参阅 SSH 供应商为 该 ssh-keygen 命令提供的 man 页面。Junos OS 默认使用 SSH 版本 2,但也支持版本 1。

    2. 允许应用程序访问公共密钥和私有密钥。一种方法是在应用程序运行的计算机上运行 ssh-agent 程序。

    3. 在运行 Junos OS 的设备上,需要接受来自 Junos XML 协议客户端应用程序的 SSH 连接,通过 load-key-file[edit system login user account-name authentication] 层次结构级别包括语句,将公钥与 Junos 登录帐户相关联。首先,移动到层次结构级别

      发出以下命令,将指定文件的内容复制到运行 Junos OS 的设备上:

      URL 是包含一个或多个公共密钥的文件路径。默认情况下,该 ssh-keygen 命令会将每个公钥存储在用户家庭目录 的 .ssh 子方向中;文件名取决于编码(DSA 或 RSA) 和 SSH 版本。有关指定 URL 的信息,请参阅 CLI 用户指南

      或者,您也可以在[edit system login user account-name authentication]层次结构级别中包括一个或两ssh-dsa个语ssh-rsa句。但是,我们建议使用 该load-key-file语句,因为它无需键切入或粘贴命令行。有关和语句的ssh-dsa详细信息,请参阅 Junos OS 路由设备用户访问和身份验证用户指南ssh-rsa

  4. 将运行 Junos OS 的设备配置为接受 SSH 连接,方法是将语句包含 ssh[edit system services] 层次结构级别。此语句支持 所有用户和应用程序的 SSH 访问,而不仅仅是 Junos XML 协议客户端 应用程序。
  5. 提交配置。
  6. 在应用程序运行的每个计算机上重复步骤 1 ,并在应用程序连接的每个设备上重复步骤 2 到步骤 5

出站 SSH 连接的先决条件

出站 SSH 功能允许在运行 Junos OS 的设备与网络和系统管理服务器之间启动 SSH 会话,其中客户端发起的 TCP/IP 连接被阻止(例如,当设备在防火墙后面时)。要配置出站 SSH,请向设备添加 outbound-ssh 配置语句。配置并提交后,运行 Junos OS 的设备将开始与配置的管理客户端启动出站 SSH 会话。初始化出站 SSH 会话并建立连接后,管理服务器将启动 SSH 序列,作为客户端和运行 Junos OS 的设备作为服务器,对客户端进行身份验证。

设置出站 SSH 涉及:

  • 为出站 SSH 配置运行 Junos OS 的设备

  • 为出站 SSH 配置管理服务器。

要为出站 SSH 配置设备:

  1. 满足在 所有访问协议的先决条件中讨论的先决条件。
  2. [edit system services ssh]层次结构级别中,将 SSH 协议设置为 v2。
  3. 为运行 Junos OS 的设备生成/获取公钥/私有密钥对。此密钥对将用于加密通过 SSH 连接传输的数据。有关生成密钥对的详细信息,请参阅 Junos OS 路由设备用户访问和身份验证用户指南
  4. 如果公共密钥将手动安装在应用程序管理系统上,则将公钥传输到 NSM 服务器。
  5. 在层次结构级别上[edit system services]添加以下outbound-ssh语句:

    选项如下:

    • address—(必需)管理服务器的 Hostname、IPv4 或 IPv6 地址。您可以通过添加每个客户端的 IP 地址或主机名以及以下连接参数来列出多个客户端。

      • port port-number—面向客户端的出站 SSH 端口。默认值为端口 22。

      • retry number– 设备尝试建立出站 SSH 连接的次数。默认是三次尝试。

      • timeout seconds— 运行 Junos OS 的设备尝试建立出站 SSH 连接的时间量,以秒为秒。默认设置为 15 秒。

    • client client-id—(必需)标识 outbound-ssh 设备上的配置部分。每个 outbound-ssh 部分都表示单个出站 SSH 连接。此属性不会发送至客户端。

    • device-id device-id—(必需)在初始序列中向客户端识别运行 Junos OS 的设备。

    • keep-alive—(可选)指定设备向管理服务器发送激活消息。要配置激活消息,必须同时设置 timeoutretry 属性。

      • retry number—在终止当前 SSH 连接之前,设备发送的激活消息数(未收到管理服务器的响应)。默认是三次尝试。

      • timeout seconds— 服务器等待数据的时间量,然后再发送激活信号。默认设置为 15 秒。

    • reconnect-strategy (in-order | sticky)—(可选)指定路由器或交换机用于重新建立断开连接的出站 SSH 连接的方法。有两种方法可用:

      • in-order— 指定路由器或交换机首先尝试根据管理服务器地址列表建立出站 SSH 会话。路由器或交换机尝试与列表中的第一台服务器建立会话。如果没有此连接,路由器或交换机将尝试与下一台服务器建立会话,等等,直到建立连接。

      • sticky— 指定路由器或交换机首先尝试重新连接到最后连接到的管理服务器。如果连接不可用,则尝试与列表上的下一个客户端建立连接,依此类推,直至建立连接。

      重新连接到客户端时,运行 Junos OS 的设备会尝试根据 retry 配置管理服务器列表中所列每个客户端的值 timeout 重新连接到客户端。

    • secret password—(可选)运行 Junos OS 的设备的公共 SSH 主机密钥。如果添加到语 outbound-ssh 句中,在出站 SSH 服务初始化期间,路由器或交换机会将其公钥传递至管理服务器。这是维护路由器或交换机公钥当前副本的建议方法。

    • services—(必需)指定可用于会话的服务。目前,NETCONF 是唯一可用的服务。

  6. 提交配置。

要设置配置管理服务器:

  1. 满足在 所有访问协议的先决条件中讨论的先决条件。

  2. 允许应用程序访问 SSH 软件。

    获取 SSH 软件并在应用程序运行的计算机上安装。有关获取和安装 SSH 软件的信息,请参阅 http://www.ssh.comhttp://www.openssh.com

  3. (可选)手动安装设备的公钥,以便与 SSH 连接配合使用。

  4. 配置客户端系统以接收和处理初始化广播请求。语法请求使用以下语法:

    • 如果配置了密钥属性,运行 Junos OS 的设备将发送其公共 SSH 密钥以及煽动性序列(建议的方法)。收到密钥后,客户端需要确定如何处理设备的公钥。我们建议您使用新密钥更换设备当前的任何公共 SSH 密钥。这可确保客户端始终具有可用于认证的当前密钥。

    • 如果未配置密钥属性,则设备不会随初始化顺序一起发送其公共 SSH 密钥。您需要手动安装设备的当前公共 SSH 密钥。

SSL 连接的先决条件

要使客户端应用程序使用 SSL 协议连接到 Junos XML 协议服务器,请执行以下步骤:

  1. 使应用程序能够访问 SSL 软件。

    获取 SSL 软件并在应用程序运行的计算机上安装。有关获取和安装 SSL 软件的信息,请 参阅 http://www.openssl.org

  2. 满足在 所有访问协议的先决条件中讨论的先决条件。
  3. 使用以下两种方法之一获取隐私增强型邮件 (PEM) 格式的身份验证证书:
    • 向证书授权机构申请证书;这些机构通常要收费。

    • 在客户端应用程序运行的计算机上,在标准命令外壳(而非 Junos OS CLI)中发出以下 openssl 命令。该命令会生成一个自签名证书和一个未加密的 1024 位 RSA 私钥,并将其写入工作目录中称为 certificate-file.pem 的文件。此命令仅显示在两行中,以实现可行性。

  4. 将证书导入运行 Junos OS 的设备上,方法是将语句包含 local[edit security certificates] 层次结构级别和 load-key-file 层级语 [edit security certificates local certificate-name] 句中。

    certificate-name 是您选择唯一标识证书的名称(例如 junos-xml-protocol-ssl-client-hostname,客户端应用程序运行所在的 hostname 计算机)。

    URL-or-path指定了包含成对证书和私有密钥的文件(如果您在步骤 3certificate-name.pem 文件)中发布了 openssl 命令)。指定 URL 到其在客户端计算机上的位置或本地磁盘上的路径名(如果您已使用其他方法将证书文件复制到设备的本地磁盘)。有关指定 URL 和路径名的详细信息,请参阅 CLI 用户指南

    注意:

    CLI 预计文件中的 URL-or-path 私有密钥将不加密。如果密钥已加密,CLI 会提示您获取与之关联的密码,解密密钥并存储未加密版本。

    命令 set-load-key-file URL-or-path 将证书文件的内容复制到配置中。查看配置时,CLI 会显示构成私钥和证书的字符串,标记为 SECRET-DATA。配置 load-key-file 中未记录关键字。

  5. 配置运行 Junos OS 的设备以接受端口 3220 上的 Junos XML 协议客户端应用程序中的 SSL 连接,方法是将语句包含 xnm-ssl[edit system services] 层次结构级别。

    certificate-name 是您在步骤 4 中分配给证书的独特名称。

    默认情况下,Junos XML 协议服务器最多每分钟支持 75 次 SSL 会话和 150 次连接尝试。或者,您可以包括或两个 connection-limit 语句来限制并发会话数和限制连接尝试的 rate-limit 语句。两种语句均接受 1 到 250 的值。

    有关该语句的 xnm-ssl 详细信息,请参阅 Junos OS 路由设备用户访问和身份验证用户指南

  6. 提交配置。
  7. 在运行客户端应用程序的每个计算机上重复步骤 1 ,在客户端应用程序连接的每个设备上重复步骤 2 到步骤 6

Telnet 连接的先决条件

要使客户端应用程序使用 Telnet 协议访问 Junos XML 协议服务器,请执行本节中说明的步骤。

运行 Junos-FIPS 软件的设备不接受 Telnet 连接。我们建议您不要在通用标准环境中使用 Telnet 协议。有关更多信息,请参阅 《通用标准和 Junos-FIPS 安全配置指南》。

  1. 验证应用程序是否可以访问 Telnet 软件。在大多数操作系统上,标准分布可访问 Telnet。
  2. 满足在 所有访问协议的先决条件中讨论的先决条件。
  3. 将语句包含 telnet[edit system services] 层次结构级别,配置运行 Junos OS 的设备以接受 Telnet 连接。此语句支持 所有用户和应用程序的 Telnet 访问,而不仅仅是 Junos XML 协议客户端 应用程序。
  4. 在运行应用程序的每个计算机上重复步骤 1 ,在应用程序连接的每个设备上重复步骤 2 和步骤 3