SSH ステップ

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:8分
  • SSH ステップでは、ServiceNow® MID サーバー を通じて SSH コマンドを外部 *nix システムで実行します。また、このステップでは、*nix システムのスクリプトとコマンドも保存されます。

    注:
    • このステップには 統合ハブ のサブスクリプションが必要です。詳細については、「 法務スケジュール - 統合ハブ の概要」を参照してください。
    • 統合ハブServiceNow SSH のみをサポートしています。

    ロールと可用性

    SSH ステップは ワークフロースタジオ のアクションステップとして利用可能です。action_designer ロールを持つユーザーは、1 つ以上のアクションステップを使用してカスタムアクションを作成できます。

    入力のサニタイズ

    すべてのユーザー入力をエスケープして、悪意のあるユーザーがターゲットサーバー上で任意のコマンドを実行する可能性を排除します。コマンドフィールドでデータピルを使用する前に、シェル引数のサニタイズ変換関数を使用して引数をサニタイズすることにより、データピルをエスケープして検証します。この変換関数カテゴリは、データピルがコマンド入力にドロップされると自動的に表示されます。

    フィールド

    フィールド 説明
    接続の詳細
    接続 使用する接続のタイプ。
    • [インラインで接続を定義]アクションステップ内の接続情報を定義します。
    • [接続エイリアスを使用]接続エイリアステーブルを使用して接続情報を定義します。エイリアスを使用することで、複数の環境でアクションを使用する場合に、複数の認証情報と接続情報プロファイルを構成する必要がなくなります。また、接続情報が変更された場合に、カスタムアクションを更新する必要がありません。

    接続と資格情報の詳細については、「資格情報、接続、およびエイリアスについて」を参照してください。

    接続エイリアス アクションステップを実行するために使用される接続および資格情報エイリアスレコード。flow_designer または admin ロールを持つユーザーは、関連する接続レコードを作成または選択できます。エイリアスを使用することで、複数の環境でアクションを使用する場合に、複数の認証情報と接続情報プロファイルを構成する必要がなくなります。また、接続情報が変更された場合に、カスタムアクションを更新する必要がありません。接続と資格情報の詳細については、「資格情報、接続、およびエイリアス」を参照してください。 認証情報の値は、データパネルにパスワード (双方向暗号化) データピルとして表示されます。このフィールドは、接続リストから [接続エイリアスを使用] が選択されている場合に利用可能です。
    認証情報エイリアス アクションステップを実行するために使用される認証情報エイリアス。flow_designer または admin ロールを持つユーザーは、関連する接続レコードを作成または選択できます。エイリアスを使用することで、複数の環境でアクションを使用する場合に、複数の認証情報を構成する必要がなくなります。また、認証情報が変更された場合に、カスタムアクションを更新する必要がありません。接続と資格情報の詳細については、「資格情報、接続、およびエイリアス」を参照してください。 認証情報の値は、データパネルにパスワード (双方向暗号化) データピルとして表示されます。このフィールドは、接続リストから [インラインで接続を定義] が選択されている場合に利用可能です。
    注:
    SSH ステップには、SSH プライベートキー認証情報または SSH 認証情報のいずれかをサポートする認証情報レコードが必要です。このステップは、[MID サーバーのサービスアカウントを使用する] オプションが選択されている Windows 資格情報をサポートしていません。
    ホスト ターゲットサーバーのホスト名または IP アドレス。このフィールドは、接続リストから [インラインで接続を定義] が選択されている場合に利用可能です。
    ポート サーバーと通信するポート番号。このフィールドは、接続リストから [インラインで接続を定義] が選択されている場合に利用可能です。
    注:
    165535 の有効な値を指定します。他の値を指定すると、値はデフォルトで 22 に設定されます。
    MID 選択 特定の MID サーバーまたは MID クラスターを選択するオプション。次のいずれかのオプションを選択します。
    • MID サーバーの自動選択: ServiceNow インスタンスは手動入力なしで MID サーバー を選択します。
    • 特定の MID サーバー: ServiceNow インスタンスは、指定した MID サーバー を使用します。
    • 特定の MID クラスター: ServiceNow インスタンスは、指定した MID クラスターを使用します。

      MID クラスターは、 ServiceNow インスタンスが複数の統合を処理できるようにする MID サーバーのグループであり、統合速度を向上させます。詳細については、「Configure a MID Server cluster」を参照してください。

    このフィールドは、接続リストから [インラインで接続を定義] が選択されている場合に利用可能です。
    MID アプリケーション MID サーバー を使用して SSH ステップを実行するオプション。このフィールドは、接続リストから [インラインで接続を定義] が選択されていて、MID 選択リストから [MID サーバーの自動選択] が選択されている場合に利用可能です。
    できること MID サーバー の機能。[SSH] を選択します。このフィールドは、接続リストから [インラインで接続を定義] が選択されていて、MID 選択リストから [MID サーバーの自動選択] が選択されている場合に利用可能です。
    MID サーバー 必要な MID サーバー のデータピル。このフィールドは、接続リストから [インラインで接続を定義] が選択されていて、MID 選択リストから [特定の MID サーバー] が選択されている場合に利用可能です。
    MID クラスター 使用する MID クラスターのデータピル。このフィールドは、接続リストから [インラインで接続を定義] が選択されていて、MID 選択リストから [特定の MID クラスター] が選択されている場合に利用可能です。
    SSH 構成
    作業ディレクトリ コマンドが実行されるターゲットホスト上のオプションのターゲットディレクトリー。
    コマンド ターゲットディレクトリーで実行されるコマンド。コマンドに MID サーバー スクリプトを含めることもできます。詳細については、「詳細な SSH スクリプトオプション」を参照してください。
    注:
    コマンドフィールドでデータピルを使用する前に、前処理スクリプトステップを使用して引数をサニタイズすることにより、データピルをエスケープして検証します。詳細については、「エスケープクラスと関数を使用した引数のサニタイズ」を参照してください。
    長期間 コマンドの実行がデフォルトの 120 秒よりも長くかかる場合に SSH 接続タイムアウトを無効にするオプション。選択すると、エンジンは完了するまで実行スレッドからデタッチします。
    Sudo モード スクリプトを実行する権限を昇格するオプション。
    詳細については、「SSH 認証情報」を参照してください。

    アクションエラー評価

    このステップが失敗した場合
    データタイプ:Choice

    次のステップの実行を続行するか、エラー評価に進むオプション。カスタムアクションのエラー条件のステップのステータスコードやメッセージを使用するには、「アクションエラー評価」を参照してください。

    SSH スクリプトの詳細オプション

    ターゲットホストで MID サーバー スクリプトを実行するには、スクリプトのタイプを指定して、スクリプトの名前を ${syncFile()} パラメーターに渡します。システムでは、このパラメーターを使用して、MID サーバー スクリプトファイル [ecc_agent_script_file] テーブル内の名前付きのスクリプトを見つけ、ターゲットホストで実行します。たとえば、bash スクリプトは次のように表すことができます。
    bash ${syncFile("<MID script name>")} argument1 argument2 argument3
    基本スクリプト (main_script.bash) は、ターゲットホスト上にある別のファイル (.my_profile) に関する別のスクリプト (my_include.bash) を参照できます。${syncFile()} パラメーターを使用して適切に実行するには、スクリプトと参照されたファイルの両方を MID サーバー に同期する必要があります。
    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
    インラインコメントのある Python の例は、次のようになります。
    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 

    利用可能な MID サーバー スクリプトのリストを表示するには、次に移動します: MID サーバー > スクリプトファイル.