Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

open() Function (SLAX and XSLT)

Namespaces

SLAX-Syntax

XSLT-Syntax

Beschreibung

Geben Sie ein Verbindungshandle zurück, das zum Ausführen von Remoteprozeduraufrufen (Remote Procedure Calls, RPCs) mithilfe der jcs:execute() Erweiterungsfunktion verwendet werden kann. Um einen RPC auf einem Remotegerät auszuführen, muss eine SSH-Sitzung aufgebaut werden. Damit das Skript die Verbindung herstellen kann, müssen Sie entweder die SSH-Hostschlüsselinformationen für das Remotegerät auf dem lokalen Gerät konfigurieren, auf dem das Skript ausgeführt wird, oder die SSH-Hostschlüsselinformationen für das Remotegerät müssen in der bekannten Hostdatei des Benutzers vorhanden sein, der das Skript ausführt.

Hinweis:

Geräte mit Junos OS Evolved unterstützen nur die kennwortlose Anmeldung, wenn über diese jcs:open() Funktion eine lokale oder Remote-Verbindung hergestellt wird. Die Angabe eines Kennworts als Funktionsargument oder die Verwendung eines interaktiven Kennworts, wie es von Junos OS unterstützt wird, wird nicht unterstützt. Um eine lokale oder Remote-Verbindung herzustellen, führen Sie diese Funktion über eine kennwortlose Anmeldung aus, da sonst Authentifizierungsprobleme auftreten können.

Um die SSH-Verbindung so umzuleiten, dass sie von einer bestimmten Routing-Instanz stammt, fügen Sie den Namen der Routing-Instanz in die Verbindungsparameter ein. Die Routinginstanz muss auf Hierarchieebene [edit routing-instances] konfiguriert werden, und das Remotegerät muss entweder über die Routingtabelle für diese Routinginstanz oder über eine der unter dieser Routinginstanz konfigurierten Schnittstellen erreichbar sein.

Ab Junos OS Version 11.4 unterstützt der neue Parameter , die Option, eine Sitzung entweder mit dem Junos XML-Protokollserver auf Geräten mit Junos OS oder mit dem NETCONF-Server auf Geräten zu erstellen, session-optionsauf denen der NETCONF-Dienst über SSH aktiviert ist. Bisher unterstützte die Funktion nur Sitzungen mit dem Junos XML-Protokollserver auf Geräten, auf denen Junos OS ausgeführt wird.

Hinweis:

Python-Automatisierungsskripte können Junos PyEZ-APIs verwenden, um eine Sitzung einzurichten und RPCs auf einem lokalen oder Remote-Gerät auszuführen.

Der Anschlussgriff wird mit der jcs:close() Funktion geschlossen.

Parameter

passphrase

(Optional) Die Passphrase für die Anmeldung des Benutzers. Wenn Sie keine Passphrase angeben und diese für die Authentifizierung erforderlich ist, sollten Sie während der Skriptausführung von dem Gerät, mit dem Sie eine Verbindung herstellen, zur Eingabe einer Passphrase aufgefordert werden.

remote-hostname

Domänenname oder IP-Adresse des Remote-Routers, Switches oder Sicherheitsgeräts. Wenn Sie eine lokale Verbindung öffnen, übergeben Sie diesen Wert nicht. Wenn Sie einen Sitzungstyp angeben, ist dieser Parameter erforderlich.

routing-instance-name

(Optional) Routing-Instanz, von der die SSH-Verbindung ausgeht.

session-options

(Optional) XML-Knotensatz, der das Sitzungsprotokoll und die Verbindungsparameter angibt. Die Struktur des Knotensatzes sieht wie folgt aus:

  • <instance>—(Optional) Routing-Instanz, von der die SSH-Verbindung ausgeht. Dieses Element ist identisch mit <routing-instance>.

  • <method>—(Optional) Sitzungsprotokoll. Das Protokoll ist einer von drei Werten: junoscript, netconf, oder junos-netconf. Wenn Sie kein Protokoll angeben, wird standardmäßig eine junoscript Sitzung erstellt. Der <method> Wert von junoscript stellt eine Sitzung mit dem Junos XML-Protokollserver auf einem Gerät her, auf dem Junos OS ausgeführt wird. Der <method> Wert baut netconf eine Sitzung mit einem NETCONF-Server über eine SSHv2-Verbindung auf. Der <method> Wert baut junos-netconf eine Sitzung mit einem NETCONF-Server über eine SSHv2-Verbindung auf einem Gerät mit Junos OS auf.

  • <passphrase> or <password>—(Optional) Passphrase für die Anmeldung des Benutzers. Wenn Sie keine Passphrase angeben und diese für die Authentifizierung erforderlich ist, sollten Sie während der Skriptausführung von dem Gerät, mit dem Sie eine Verbindung herstellen, zur Eingabe einer Passphrase aufgefordert werden.

  • <port>—(Optional) Server-Portnummer für netconf und junos-netconf Sitzungen. Stellt für NETCONF-Sitzungen jcs:open() eine Verbindung zum NETCONF-Server am Standardport 830 her. Wenn Sie einen Wert für <port>angeben, jcs:open() stellt stattdessen eine Verbindung zum angegebenen Port her. Die Angabe einer Portnummer hat keine Auswirkungen auf junoscript Sitzungen, die immer über SSH-Port 22 aufgebaut werden.

  • <routing-instance>—(Optional) Routing-Instanz, von der die SSH-Verbindung ausgeht. Dieses Element ist identisch mit <instance>.

  • <username>—(Optional) Anmeldename des Benutzers. Wenn Sie keinen Benutzernamen angeben und dieser für die Verbindung erforderlich ist, verwendet das Skript den lokalen Namen des Benutzers, der das Skript ausführt.

username

(Optional) Der Anmeldename des Benutzers. Wenn Sie keinen Benutzernamen angeben und dieser für die Verbindung erforderlich ist, verwendet das Skript den lokalen Namen des Benutzers, der das Skript ausführt.

Rückgabewert

connection

Verbindungshandle zum Remote-Host.

Anwendungsbeispiele

Das folgende Beispiel zeigt, wie Sie eine Verbindung zu einem lokalen Gerät herstellen:

Das folgende Beispiel zeigt, wie Sie eine Verbindung zu einem Remotegerät herstellen:

Das folgende Beispiel zeigt, wie der Benutzer bsmith mit der Passphrase "test123" ein Verbindungshandle zum Remotegerät fivestar erhält:

Das folgende Beispiel zeigt, wie der Benutzer bsmith mit der Passphrase "test123" eine junos-netconf Sitzung mit einem Gerät erstellt, auf dem Junos OS ausgeführt wird:

Informationen zur Veröffentlichung

Diese Funktion wurde in Junos OS Version 9.3 eingeführt.

Unterstützung für NETCONF-Sitzungen wurde in Junos OS Version 11.4 hinzugefügt.

Unterstützung für Routing-Instanzen wurde in Junos OS Version 12.2 hinzugefügt.

Unterstützung für Junos OS Evolved wurde in Junos OS Evolved Version 18.3R1 hinzugefügt.