Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Create an SSH activity

Create an activity that extracts data from a target host that uses the SSH network protocol.

Before you begin

Role required: activity_creator or workflow_admin

About this task

For instructions on using the activity template process flow, see create custom activities.

Procedure

  1. Create a custom activity.

    This action creates a custom activity using a template.

  2. After setting up general properties and creating input variables, configure the SSH Execution Command.

Map the input variablesUse the variables you created to configure the command that Orchestration executes.
Target hostHost name or IP address of the target server for this activity.
CommandCommand this activity runs on the target host. You can invoke a MID Server script from this field using any script type that the SSH command line supports. For more information, see Advanced SSH script options below the table.
DirectoryDirectory on the target host where the command is run.
Credential tagThe Orchestration credential tag to use when running the command.
Required MID Server capabilitiesMID Server with the appropriate capabilities for connecting to the host. By default, the system selects a MID Server with SSH capabilities.
Long runningIf checked, disables the SSH connection timeout for commands that might take longer to run than the default 60 seconds. Orchestration periodically checks the running process to determine its status until it is finished.
Must SudoIf checked, enables the use of sudo to run commands.
**Note:** You can map parameter values in a test payload to variables in the **Outputs** tab automatically. See [automap output variables](automap-output-variable-inputs.md).

Advanced SSH script options

To run a MID Server script on the target host, specify the script type and pass the name of the script into the ${syncFile()} parameter. The system uses this parameter to locate the named script in the MID Server Script File [ecc_agent_script_file] table and run it on the target host. For example, a bash script can be expressed as:

bash ${syncFile("<MID script name>")} argument1 argument2 argument3

A base script (main_script.bash) can reference another script (my_include.bash) as well as a separate file (.my_profile) located on the target host. Both scripts and the file referenced must be synced to the MID Server, using the ${syncFile()} parameter, to execute properly.

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

A Python example with inline comments might look like this:

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 

What to do next

Parent Topic:Orchestration custom activity templates

SSH template execution parameters

Use execution parameters to create the input process script in the Pre Processing form of the activity designer.

For descriptions of the command fields, see Configure the SSH execution command.

Note: You must use the executionParam. prefix with all variables in this table.

NameVariableTypeUsage
SourcesourceStringIntended target or host.
CommandcommandStringComment to run on the host.
DirectorydirectoryStringDirectory on the host in which to run the command.
Credential tagcredential\_tagStringOrchestration credential tag to use when running the command.
MidCapabilitiesmidCapabilitiesString \(comma separated\)List of required MID Server capabilities.
ValueCapabilitiesvalueCapabilitiesArray of hashmapCapability values used to select the MID Server. For more information, see MID Server capabilities. If there are additional capabilities that are assigned by value, use this example to customize the MID Server selection:
var valueCapability = {'NEW_MID_CAPABIILTY':'NEW_MID_CAPABILITY_VALUE'};
executionParam.valueCapabilities.push(valueCapability);
Long runninglong\_runningBooleanIndicates whether or not the command is long running. A value of true indicates that the command is long running.
Must sudomust\_sudoBooleanIndicates whether or not this activity must use sudo to run root commands. A value of true indicates that sudo SSH credentials must be used.

SSH post-processing parameters and payload parsing

Use these parameters to create a post-processing script, payload parsing, and tagging.

NameVariableTypeUsage
OutputoutputStringContains the output returned from the SSH command.
EccSysIDeccSysIDStringContains the reference ID associated with the ECC Queue input message returned by the activity.
ErrorMessageserrorMessagesStringContains the error messages retrieved from the SSH command. This value is null if there are no error messages.
TagstagsHashmap of tag values returned from the SSH command

Contains the tags used to extract output using the SSH commands. The tag output is delimited by double percentage signs, as in %%tagname%% … %%. Set up the command using the following format:

%%tagname1%%
output1 line 1
output1 line 2
…
%%</p>
<p>%%tagname2%%
output2 line 1
output2 line 2
…
%%
<div class="highlight"><pre><span></span><code>The tags returned are JavaScript hashmap objects in which each key is prefixed with `tag` appended with the tagname.
{"__text__": "", "tagtagname1":"output1 line1\noutput1 line2\n", "tagtagname2":"output2 line1\noutput2 line2\n"}

Configure the SSH execution command

Use the input variables you created to configure the command that Orchestration executes on the host target.

Before you begin

Create the input variables you need in the Inputs form before you advance to the Execution Command stage.

Role required: activity_creator, admin

Note: You can test the SSH connection between the MID Server and the target without having to run the acvitity in a workflow context. For details, see test template outputs.

Procedure

  1. Drag variables from the list of inputs and drop them into command fields.

    The system formats the variable in the proper syntax for the command.

Image omitted: SSHExecutionCommand.png
SSH execution command
  1. Complete the fields shown in the table.
FieldDescription
InputInput variable builder. Create input variables to map to available fields.
Target hostHost name or IP address of the target server for this activity.
CommandCommand this activity runs on the target host. You can invoke a MID Server script from this field using any script type that is supported by the SSH command line. For more information, see Advanced SSH script options below the table.
DirectoryDirectory on the target host where the command is run.
Credential tagThe Credential aliases for Orchestration activities to use when running the command.
Select MID Server by capabilitiesMID Server with the appropriate capabilities for connecting to the host. By default, the system selects a MID Server with SSH capabilities
Long runningCheck box to disable the SSH connection timeout for commands that might take longer to run than the default 60 seconds. Orchestration periodically checks the running process to determine its status until it is finished.
Must SudoCheck box to allow the use of SSH credentials to run commands.
  1. Click Save.

  2. Click Continue to advance to the Outputs stage.