Étape SSH

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 6 minutes de lecture
  • L'étape SSH exécute des commandes SSH sur un système *nix externe via un ServiceNow® Serveur MID. L'étape stocke également des scripts et des commandes pour les systèmes *nix.

    Remarque :

    Rôles et disponibilité

    L’étape SSH est disponible en tant qu’étape d’action Studio de workflow . Les utilisateurs disposant du rôle action_designer peuvent créer une action personnalisée avec une ou plusieurs étapes d’action.

    Entrées d’assainissement

    Échappez toutes les entrées utilisateur pour éliminer la possibilité qu’un utilisateur malveillant exécute des commandes arbitraires sur votre serveur cible. Échappez et validez les pastilles de données avant que le champ de commande ne les utilise en nettoyant les arguments à l’aide des fonctions de transformation des arguments Sanitize Shell. Cette catégorie de fonction de transformation s’affiche automatiquement lorsqu’une pastille de données est déposée dans l’entrée Commande .

    Champs

    Champ Description
    Détails de la connexion
    Connexion Type de connexion à utiliser.
    • Définir l’inline de la connexion : Définissez les informations de connexion dans l'étape d'action.
    • Utiliser l’alias de connexion : Définissez les informations de connexion à l'aide de la table Alias de connexion. L'utilisation d'un alias élimine la nécessité de configurer plusieurs informations d'identification et profils d'informations de connexion lors de l'utilisation d'une action dans plusieurs environnements. De même, si les informations de connexion changent, vous n'avez pas besoin de mettre à jour votre action personnalisée.

    Pour en savoir plus sur les connexions et les informations d’identification, consultez Présentation des informations d’identification, des connexions et des alias.

    Alias de connexion Enregistrement d’alias de connexion et d’informations d’identification que le système utilise pour exécuter l’étape d’action. Les utilisateurs disposant du rôle flow_designer ou admin peuvent créer ou sélectionner un enregistrement de connexion associé. L'utilisation d'un alias élimine la nécessité de configurer plusieurs informations d'identification et profils d'informations de connexion lors de l'utilisation d'une action dans plusieurs environnements. De même, si les informations de connexion changent, vous n’avez pas besoin de mettre à jour votre action personnalisée. Pour en savoir plus sur les connexions et les informations d’identification , consultez Informations d’identification, connexions et alias. La valeur d’informations d’identification s’affiche sous la forme d’une pastille de données de mot de passe (2 sens cryptés) sur le panneau de données. Ce champ est disponible lorsque l’option Utiliser l’alias de connexion est sélectionnée dans la liste Connexion.
    Alias d’informations d’identification Alias d’informations d’identification utilisé par le système pour exécuter l’étape d’action. Les utilisateurs disposant du rôle flow_designer ou admin peuvent créer ou sélectionner un enregistrement de connexion associé. L’utilisation d’un alias élimine la nécessité de configurer plusieurs informations d’identification lors de l’utilisation d’une action dans plusieurs environnements. De même, si les informations d’identification changent, vous n’avez pas besoin de mettre à jour votre action personnalisée. Pour en savoir plus sur les connexions et les informations d’identification , consultez Informations d’identification, connexions et alias. La valeur d’informations d’identification s’affiche sous la forme d’une pastille de données de mot de passe (2 sens cryptés) sur le panneau de données. Ce champ est disponible lorsque l’option Définir l’inline de la connexion est sélectionnée dans la liste Connexion.
    Remarque :
    L’étape SSH nécessite un enregistrement d’informations d’identification qui prend en charge soit les informations d’identification de clé privée SSH, soit les informations d’identification SSH. Cette étape ne prend pas en charge les informations d’identification Windows lorsque l’option Utiliser le compte de service de Serveur MID est sélectionnée.
    Hôte Nom d’hôte ou adresse IP du serveur cible. Ce champ est disponible lorsque l’option Définir l’inline de la connexion est sélectionnée dans la liste Connexion.
    Port Numéro de port pour communiquer avec le serveur. Ce champ est disponible lorsque l’option Définir l’inline de la connexion est sélectionnée dans la liste Connexion.
    Sélection de MID Option permettant de sélectionner le serveur MID ou la grappe MID spécifique.
    • Sélectionner automatiquement un serveur MID : sélectionne automatiquement le serveur MID.
    • Serveur MID spécifique : utilise le serveur MID que vous sélectionnez.
    • Grappe MID spécifique : utilise la grappe MID que vous sélectionnez.
    Ce champ est disponible lorsque l’option Définir l’inline de la connexion est sélectionnée dans la liste Connexion.
    Application MID Option permettant d’utiliser un Serveur MID pour exécuter l’étape SSH. Ce champ est disponible lorsque Définir l’inline de la connexion est sélectionné dans la liste Connexion et que Serveur MID auto-sélectionné est sélectionné dans la liste Sélection MID.
    Aptitudes Aptitude du Serveur MIDfichier . Sélectionnez SSH. Ce champ est disponible lorsque Définir l’inline de la connexion est sélectionné dans la liste Connexion et que Serveur MID auto-sélectionné est sélectionné dans la liste Sélection MID.
    Serveur MID Pilule de données de l’espace requis Serveur MID. Ce champ est disponible lorsque Définir l’inline de la connexion est sélectionné dans la liste Connexion et que Serveur MID spécifique est sélectionné dans la liste de sélection MID.
    Grappe MID Pilule de données pour la grappe MID que vous souhaitez utiliser. Ce champ est disponible lorsque Définir l’inline de la connexion est sélectionné dans la liste Connexion et que Grappe MID spécifique est sélectionnée dans la liste Sélection MID.
    Configuration SSH
    Répertoire de travail Répertoire cible facultatif sur l’hôte cible sur lequel la commande est exécutée.
    Commande Commande qui s’exécute dans le répertoire cible. La commande peut également inclure Serveur MID des scripts. Pour plus d’informations, reportez-vous à la section Options avancées de script SSH .
    Remarque :
    Échappez et validez les pastilles de données avant que le champ de commande ne les utilise en nettoyant les arguments à l’aide d’une étape de script de prétraitement. Pour plus d’informations, consultez Nettoyage des arguments à l’aide de la classe et de la fonction Échappement.
    Exécution longue Option permettant de désactiver le délai de connexion SSH pour les commandes dont l’exécution peut prendre plus de temps que la durée par défaut de 120 secondes. Lorsque cette option est sélectionnée, le moteur se détache du thread d’exécution jusqu’à ce qu’il soit terminé.
    Mode Sudo Option permettant d’élever les privilèges pour exécuter le script.
    Pour plus d’informations, consultez Informations d’identification SSH.

    Évaluation de l’erreur d’action

    En cas d'échec de cette étape
    Type de données : Choice

    Option permettant de continuer à exécuter l’étape suivante ou d’accéder à l’évaluation des erreurs. Pour utiliser le code d’état ou le message de l’étape pour une condition d’erreur d’action personnalisée, reportez-vous à la section Évaluation de l’erreur d’action.

    Options de script SSH avancées

    Pour exécuter un Serveur MID script sur l’hôte cible, spécifiez le type de script et transmettez le nom du script dans le paramètre ${syncFile()}. Le système utilise ce paramètre pour localiser le script nommé dans la Serveur MID table Fichier de script [ecc_agent_script_file] et l’exécuter sur l’hôte cible. Par exemple, un script bash peut être exprimé comme suit :
    bash ${syncFile("<MID script name>")} argument1 argument2 argument3
    Un script de base (main_script.bash) peut référencer un autre script (my_include.bash) ainsi qu’un fichier distinct (.my_profile) situé sur l’hôte cible. Les deux scripts et le fichier référencé doivent être synchronisés avec le Serveur MID, en utilisant le paramètre ${syncFile()} , pour s’exécuter correctement.
    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
    Un exemple Python avec des commentaires en ligne pourrait ressembler à ceci :
    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 

    Pour afficher la liste des scripts disponibles Serveur MID , accédez à Serveur MID > Fichiers de script.