EN ESTA PÁGINA
open() Function (SLAX and XSLT)
Nombres
http://xml.juniper.net/junos/commit-scripts/1.0
Sintaxis SLAX
var $connection = jcs:open(); var $connection = jcs:open(remote-hostname, <username>, <passphrase>, <routing-instance-name>); var $connection = jcs:open(remote-hostname, <session-options>);
Sintaxis XSLT
<xsl:variable name="connection" select="jcs:open()"/> <xsl:variable name="connection" select="jcs:open(remote-hostname, <username>, <passphrase>, <routing-instance-name>)"/> <xsl:variable name="connection" select="jcs:open(remote-hostname, <session-options>)"/>
Descripción
Devuelva un controlador de conexión que se pueda usar para ejecutar llamadas de procedimiento remoto (RPC) mediante la función de jcs:execute()
extensión. Para ejecutar un RPC en un dispositivo remoto, debe establecerse una sesión SSH . Para que la secuencia de comandos establezca la conexión, debe configurar la información de la clave de host SSH para el dispositivo remoto en el dispositivo local donde se ejecutará la secuencia de comandos, o bien la información de la clave de host SSH para el dispositivo remoto debe existir en el archivo hosts conocido del usuario que ejecuta la secuencia de comandos.
Los dispositivos que ejecutan Junos OS Evolucionado solo admiten el inicio de sesión sin contraseña cuando se establece una conexión local o remota mediante la jcs:open()
función. No admiten el suministro de una contraseña como argumento de función ni el uso de una contraseña interactiva, como es compatible con Junos OS. Para realizar una conexión local o remota, ejecute esta funcionalidad mediante un inicio de sesión sin contraseña o, de lo contrario, se podrían encontrar problemas de autenticación.
Para redirigir la conexión SSH para que se origine desde dentro de una instancia de enrutamiento específica, incluya el nombre de la instancia de enrutamiento en los parámetros de conexión. La instancia de enrutamiento se debe configurar en el [edit routing-instances]
nivel de jerarquía y el dispositivo remoto debe estar accesible mediante la tabla de enrutamiento de esa instancia de enrutamiento o desde una de las interfaces configuradas en esa instancia de enrutamiento.
A partir de Junos OS versión 11.4, el nuevo parámetro, session-options
, admite la opción de crear una sesión con el servidor de protocolo Junos XML en dispositivos que ejecutan Junos OS o con el servidor NETCONF en dispositivos donde el servicio NETCONF mediante SSH está habilitado. Anteriormente, la función solo admitía sesiones con el servidor de protocolo JUnos XML en dispositivos que ejecutan Junos OS.
Los scripts de automatización de Python pueden usar API de Junos PyEZ para establecer una sesión y ejecutar RPCs en un dispositivo local o remoto.
El controlador de conexión se cierra con la jcs:close()
función.
Parámetros
passphrase |
(Opcional) Frase de contraseña de inicio de sesión del usuario. Si no especifica una frase de contraseña y es necesaria para la autenticación, se le debería solicitar una durante la ejecución del script por el dispositivo al que se está conectando. |
remote-hostname |
Nombre de dominio o dirección IP del enrutador remoto, conmutador o dispositivo de seguridad. Si está abriendo una conexión local, no pase este valor. Si especifica un tipo de sesión, este parámetro es necesario. |
routing-instance-name |
(Opcional) Instancia de enrutamiento desde la que se origina la conexión SSH. |
session-options |
(Opcional) Conjunto de nodos XML que especifica el protocolo de sesión y los parámetros de conexión. La estructura del conjunto de nodos es: var $session-options := { <instance> "routing-instance-name"; <method> ("junoscript" | "netconf" | "junos-netconf"); <passphrase> "passphrase"; <password> "password"; <port> "port-number"; <routing-instance> "routing-instance-name"; <username> "username"; }
|
username |
(Opcional) Nombre de inicio de sesión del usuario. Si no especifica un nombre de usuario y es necesario para la conexión, la secuencia de comandos usa el nombre local del usuario que ejecuta la secuencia de comandos. |
Valor devuelto
connection |
Controlador de conexión al host remoto. |
Ejemplos de uso
En el siguiente ejemplo, se muestra cómo conectarse a un dispositivo local:
var $connection = jcs:open();
En el siguiente ejemplo, se muestra cómo conectarse a un dispositivo remoto:
var $connection = jcs:open(remote-hostname);
En el siguiente ejemplo, se muestra cómo el usuario, bsmith, con la frase de contraseña "test123" obtiene un controlador de conexión al dispositivo remoto, cinco estrellas:
var $connection = jcs:open("fivestar", "bsmith", "test123");
En el siguiente ejemplo, se muestra cómo el usuario, bsmith, con la frase de contraseña "test123" crea una junos-netconf
sesión con un dispositivo que ejecuta Junos OS:
var $options := { <method> "junos-netconf"; <username> "bsmith"; <passphrase> "test123"; } var $connection = jcs:open("fivestar", $options);
Información de versión
Función introducida en la versión 9.3 de Junos OS.
Compatibilidad con sesiones de NETCONF agregadas en Junos OS versión 11.4.
Compatibilidad con instancias de enrutamiento agregadas en Junos OS versión 12.2.
Soporte para Junos OS Evolucionado agregado en Junos OS Evolved versión 18.3R1.