SSH ステップ

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む7読むのに数分
  • 注:
    • 統合ハブServiceNow SSH のみをサポートしています。

    ロールと使用可用性

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

    入力のサニタイズ

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

    フィールド

    フィールド 説明
    接続の詳細
    接続 使用する接続のタイプ。
    • [インラインで接続を定義]
    • [接続エイリアスを使用]

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

    接続エイリアス アクションステップを実行するために使用される接続および資格情報エイリアスレコード。flow_designer または admin ロールを持つユーザーは、関連する接続レコードを作成または選択できます。エイリアスを使用することで、複数の環境でアクションを使用する場合に、複数の資格情報と接続情報プロファイルを構成する必要がなくなります。また、接続情報が変更された場合に、カスタムアクションを更新する必要がありません。接続と資格情報の詳細については、「資格情報、接続、およびエイリアス」を参照してください。 資格情報の値は、データパネルにパスワード (双方向暗号化) データピルとして表示されます。このフィールドは、接続リストから [接続エイリアスを使用] が選択されている場合に利用可能です。
    資格情報エイリアス アクションステップを実行するために使用される資格情報エイリアス。flow_designer または admin ロールを持つユーザーは、関連する接続レコードを作成または選択できます。エイリアスを使用することで、複数の環境でアクションを使用する場合に、複数の資格情報を構成する必要がなくなります。また、資格情報が変更された場合に、カスタムアクションを更新する必要がありません。接続と資格情報の詳細については、「資格情報、接続、およびエイリアス」を参照してください。 資格情報の値は、データパネルにパスワード (双方向暗号化) データピルとして表示されます。このフィールドは、接続リストから [インラインで接続を定義] が選択されている場合に利用可能です。
    注:
    SSH ステップには、SSH プライベートキー資格情報または SSH 資格情報のいずれかをサポートする資格情報レコードが必要です。このステップは、[MID Server のサービスアカウントを使用する] オプションが選択されている Windows 資格情報をサポートしていません。
    ホスト ターゲットサーバーのホスト名または IP アドレス。このフィールドは、接続リストから [インラインで接続を定義] が選択されている場合に利用可能です。
    ポート サーバーと通信するポート番号。このフィールドは、接続リストから [インラインで接続を定義] が選択されている場合に利用可能です。
    MID 選択 特定の MID Server または MID クラスターを選択するオプション。
    • MID Server の自動選択:MID Server を自動的に選択します。
    • 特定の MID Server:選択した MID Server を使用します。
    • 特定の MID クラスター:選択した MID クラスターを使用します。
    このフィールドは、接続リストから [インラインで接続を定義] が選択されている場合に利用可能です。
    MID アプリケーション MID サーバー を使用して SSH ステップを実行するオプション。このフィールドは、接続リストから [インラインで接続を定義] が選択されていて、MID 選択リストから [MID Server の自動選択] が選択されている場合に利用可能です。
    できること MID サーバー の機能。[SSH] を選択します。このフィールドは、接続リストから [インラインで接続を定義] が選択されていて、MID 選択リストから [MID Server の自動選択] が選択されている場合に利用可能です。
    MID Server 必要な MID サーバー のデータピル。このフィールドは、接続リストから [インラインで接続を定義] が選択されていて、MID 選択リストから [特定の MID Server] が選択されている場合に利用可能です。
    MID クラスター 使用する MID クラスターのデータピル。このフィールドは、接続リストから [インラインで接続を定義] が選択されていて、MID 選択リストから [特定の MID クラスター] が選択されている場合に利用可能です。
    SSH 構成
    作業ディレクトリ コマンドが実行されるターゲットホスト上のオプションのターゲットディレクトリー。
    コマンド ターゲットディレクトリーで実行されるコマンド。コマンドに MID サーバー スクリプトを含めることもできます。詳細については、「詳細な SSH スクリプトオプション」を参照してください。
    注:
    コマンドフィールドでデータピルを使用する前に、前処理スクリプトステップを使用して引数をサニタイズすることにより、データピルをエスケープして検証します。詳細については、「エスケープクラスと関数を使用した引数のサニタイズ」を参照してください。
    長期間 コマンドの実行がデフォルトの 120 秒よりも長くかかる場合に SSH 接続タイムアウトを無効にするオプション。選択すると、エンジンは完了するまで実行スレッドからデタッチします。
    Sudo モード スクリプトを実行する権限を昇格するオプション。
    詳細については、「SSH 資格情報」を参照してください。

    アクションエラー評価のフィールド

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

    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 サーバー > スクリプトファイル.