SSH-Schritt

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 4 Minuten Lesedauer
  • Der SSH-Schritt führt über einen ServiceNow® MID-Server SSH-Befehle für ein externes *nix-System aus. Der Schritt speichert auch Skripts und Befehle für die *nix-Systeme.

    Hinweis:

    Rollen und Verfügbarkeit

    Der SSH-Schritt ist als Workflow-Studio -Aktionsschritt verfügbar. Benutzer mit der Rolle „action_designer“ können eine anwenderdefinierte Aktion mit einem oder mehreren Aktionsschritten erstellen.

    Eingaben werden bereinigt

    Escapen Sie alle Anwendereingaben mit Escape-Zeichen, um zu verhindern, dass ein böswilliger Anwender beliebige Befehle auf dem Zielserver ausführt. Escapen und validieren Sie Datenpillen, bevor das Befehlsfeld sie verwendet, indem Sie Argumente mit den Transformationsfunktionen für Shell-Argumente bereinigen. Diese Transformationsfunktionskategorie wird automatisch angezeigt, wenn eine Datenpille in der Befehlseingabe abgelegt wird.

    Felder

    Feld Beschreibung
    Verbindungsdetails
    Verbindung Art der zu verwendenden Verbindung.
    • Verbindung Inline definieren: Definieren Sie die Verbindungsinformationen innerhalb des Aktionsschritts.
    • Verbindungs-Alias verwenden: Definieren Sie die Verbindungsinformationen mithilfe der Tabelle „Verbindungsalias“. Wenn Sie einen Alias verwenden, müssen Sie nicht mehrere Anmeldeinformations- und Verbindungsinformationsprofile konfigurieren, wenn Sie eine Aktion in mehreren Umgebungen verwenden. Ebenso müssen Sie Ihre benutzerdefinierte Aktion nicht aktualisieren, wenn sich die Verbindungsinformationen ändern.

    Weitere Informationen zu Verbindungen und Anmeldeinformationen finden Sie unter Einführung zu Anmeldeinformationen, Verbindungen und Aliassen.

    Verbindungsalias Aliasdatensatz für Verbindungen und Anmeldeinformationen, den das System zum Ausführen des Aktionsschritts verwendet. Benutzer mit der Rolle „flow_designer“ oder „admin“ können einen zugehörigen Verbindungsdatensatz erstellen oder auswählen. Wenn Sie einen Alias verwenden, müssen Sie nicht mehrere Anmeldeinformations- und Verbindungsinformationsprofile konfigurieren, wenn Sie eine Aktion in mehreren Umgebungen verwenden. Ebenso müssen Sie Ihre anwenderdefinierte Aktion nicht aktualisieren, wenn sich die Verbindungsinformationen ändern. Weitere Informationen zu Verbindungen und Anmeldeinformationen finden Sie unter Anmeldeinformationen, Verbindungen und Aliasnamen. Der Wert der Anmeldeinformationen wird als Datenpille Passwort (zweifach verschlüsselt) im Datenbereich angezeigt. Dieses Feld ist verfügbar, wenn Verbindungsalias verwenden in der Verbindungsliste ausgewählt wird.
    Anmeldeinformationsalias Anmeldeinformationsalias, den das System zum Ausführen des Aktionsschritts verwendet. Benutzer mit der Rolle „flow_designer“ oder „admin“ können einen zugehörigen Verbindungsdatensatz erstellen oder auswählen. Wenn Sie einen Alias verwenden, müssen Sie nicht mehr mehrere Anmeldeinformationen konfigurieren, wenn Sie eine Aktion in mehreren Umgebungen verwenden. Auch wenn sich die Anmeldeinformationen ändern, müssen Sie Ihre anwenderdefinierte Aktion nicht aktualisieren. Weitere Informationen zu Verbindungen und Anmeldeinformationen finden Sie unter Anmeldeinformationen, Verbindungen und Aliasnamen. Der Wert der Anmeldeinformationen wird als Datenpille Passwort (zweifach verschlüsselt) im Datenbereich angezeigt. Dieses Feld ist verfügbar, wenn Verbindung inline definieren aus der Liste Verbindung ausgewählt wird.
    Hinweis:
    Der SSH-Schritt erfordert einen Anmeldeinformationsdatensatz, der entweder Anmeldeinformationen für private SSH-Schlüssel oder SSH-Anmeldeinformationen unterstützt. Dieser Schritt unterstützt keine Windows-Anmeldeinformationen, wenn die Option MID-Server-Servicekonto verwenden ausgewählt ist.
    Host Hostname oder IP-Adresse des Zielservers. Dieses Feld ist verfügbar, wenn Verbindung inline definieren aus der Verbindungsliste ausgewählt wird.
    Port Portnummer für die Kommunikation mit dem Server. Dieses Feld ist verfügbar, wenn Verbindung inline definieren aus der Verbindungsliste ausgewählt wird.
    MID-Auswahl Option zum Auswählen des spezifischen MID-Servers oder MID-Clusters.
    • MID-Server automatisch auswählen: Wählt den MID-Server automatisch aus.
    • Spezifischer MID-Server: Verwendet den ausgewählten MID-Server.
    • Spezifischer MID-Cluster: Verwendet den ausgewählten MID-Cluster.
    Dieses Feld ist verfügbar, wenn Verbindung inline definieren aus der Verbindungsliste ausgewählt wird.
    MID-Anwendung Option zur Verwendung von MID-Server zum Ausführen des SSH-Schritts. Dieses Feld ist verfügbar, wenn Inline-Verbindung definieren in der Verbindungsliste und MID-Server automatisch auswählen in der MID-Auswahllisteausgewählt werden.
    Fähigkeiten Fähigkeit des MID-Server. Wählen Sie SSH aus. Dieses Feld ist verfügbar, wenn Inline-Verbindung definieren in der Verbindungsliste und MID-Server automatisch auswählen in der MID-Auswahllisteausgewählt werden.
    MID-Server Datenpille des erforderlichen MID-Server. Dieses Feld ist verfügbar, wenn Inline-Verbindung definieren in der Verbindungsliste und Spezifischer MID-Server in der MID-Auswahlliste ausgewählt werden.
    MID-Cluster Datenpille für den MID-Cluster, den Sie verwenden möchten. Dieses Feld ist verfügbar, wenn Inline-Verbindung definieren in der Verbindungsliste und Spezifischer MID-Cluster in der MID-Auswahlliste ausgewählt werden.
    SSH-Konfiguration
    Arbeitsverzeichnis Optionales Zielverzeichnis auf dem Zielhost, auf dem der Befehl ausgeführt wird.
    Befehl Befehl, der im Zielverzeichnis ausgeführt wird. Der Befehl kann auch MID-Server -Skripts enthalten. Weitere Informationen finden Sie unter Erweiterte SSH-Skriptoptionen.
    Hinweis:
    Escapen und validieren Sie Datenpillen, bevor das Befehlsfeld sie verwendet, indem Sie Argumente mithilfe eines Vorverarbeitungsskriptschritts bereinigen. Weitere Informationen finden Sie unter Argumente mit Escape-Klasse und -Funktion bereinigen.
    Lange Ausführung Option zum Deaktivieren der SSH-Verbindungs-Zeitüberschreitung für Befehle, deren Ausführung länger als die Standardzeit von 120 Sekunden dauern kann. Wenn diese Option ausgewählt ist, wird die Engine bis zum Abschluss vom Ausführungsthread getrennt.
    Sudo-Modus Option zum Erhöhen von Berechtigungen zum Ausführen des Skripts.
    Weitere Informationen finden Sie unter SSH-Anmeldeinformationen.

    Fehlerbewertung der Aktion

    Wenn dieser Schritt fehlschlägt
    Datentyp: Choice

    Option, um den nächsten Schritt auszuführen oder zur Fehlerauswertung zu wechseln. Informationen zur Verwendung des Schrittstatuscodes oder der Nachricht für eine anwenderdefinierte Aktionsfehlerbedingung finden Sie unter Fehlerbewertung der Aktion.

    Erweiterte SSH-Skriptoptionen

    Um ein MID-Server -Skript auf dem Zielhost auszuführen, geben Sie den Skripttyp an, und übergeben Sie den Namen des Skripts an den Parameter ${syncFile()}. Das System verwendet diesen Parameter, um das benannte Skript in der Tabelle MID-Server Skriptdatei [ecc_agent_script_file] zu finden und auf dem Zielhost auszuführen. Beispielsweise kann ein Bash-Skript wie folgt ausgedrückt werden:
    bash ${syncFile("<MID script name>")} argument1 argument2 argument3
    Ein Basisskript (main_script.bash) kann auf ein anderes Skript (my_include.bash) sowie auf eine andere Datei (.my_profile) verweisen, die sich auf dem Ziel-Host befindet. Sowohl das Skript als auch die Datei, auf die verwiesen wird, müssen mithilfe des Parameters ${syncFile()} mit MID-Serversynchronisiert werden, um ordnungsgemäß ausgeführt zu werden.
    source ${syncFile(".my_profile")}
    cp ${syncFile("my_include.bash")} /usr/ssmith/my_include.bash
    bash ${syncFile("main_script.bash")} one two three four five six 
    rm /usr/ssmith/my_include.bash
    Ein Python-Beispiel mit Inline-Kommentaren könnte wie folgt aussehen:
    set $LIB_DIR=/usr/bin;. 
    # Sync a file that is referenced inside myF5CreateLBPool.py 
    cp ${syncFile("specialFunctions.py")} ~/specialFunctions.py 
    # set up environment variables 
    source ${syncFile(".python_profile")} 
    # call script that sets up dependencies on the box from remote package repos 
    python ${syncFile("setupPythonDependencies.py")} pycontrol 
    # call a script that requires functions from the package as well as a function from myIncludedFile 
    python ${syncFile("myF5CreateLBPool.py")} snow_pool myActualValue 
    # user is responsible for their own cleanup 
    rm ~/specialFunctions.py 

    Um die Liste der verfügbaren MID-Server -Skripts anzuzeigen, navigieren Sie zu MID-Server > Skriptdateien.