Page History
Table of Contents |
---|
Introduction
- The SSH (Secure Shell) SSHJob allows to execute shell code, scripts and programs on another host without a JS7 Agent being installed on that machine.
- The SSHJob allows execution on Unix and Windows systems.
- Unix based operating systems generally provide an SSH client, while Windows operating systems by default do not
...
The JobSchedulerSSHJob allows the execution of shell commands and scripts on a remote host running an SSH server without requiring a local SSH client to be installed.
...
- .
- The beauty of SSH is its simplicity. It allows public/private key authentication and is well suited to execute programs for specific accounts.
- The JITL SSHJob allows shell scripts to add return values to orders.
- One of the restrictions of SSH connections is that there is limited control of child processes on the remote host.
- If a number of child processes are spawned by a program during an SSH session and that session is aborted then child processes will continue to run.
- The SSHJob provides a means to control the behavior with output to stderr and exit codes of shell commands.
Usage
When defining the job consider
- to use the Wizard that is available from the job properties tab in the Configuration view,
- to select the JITL job class and
- to specify the
com.sos.jitl.jobs.ssh.SSHJob
Java class name.
...
- Required Arguments
- Arguments that have to be set in specified with the job configuration to run the job.
- Example: The
host
argument is required to run a job that connects to a remote host.
- Example: The
- Arguments that have to be set in specified with the job configuration to run the job.
- Optional Arguments
- Arguments that are not required or arguments that are technically required but are available from a default valuevalues.
- Example 1: technically required, but available from default value
- To connect to a remote host, the
port
arguments argument is required. The arguments argument is available from the default value22
, therefore theport
argument does not have to be specified with the job argumentsis not required.
- To connect to a remote host, the
- Example 2: not required
- The
proxy_host
argument is used only if the job's connection makes use of a proxy.
- The
- Example 1: technically required, but available from default value
- Arguments that are not required or arguments that are technically required but are available from a default valuevalues.
The com.sos.jitl.jobs.ssh.SSHJJob
class accepts the following arguments:
Name | Required | Default Value | Purpose | Example |
---|---|---|---|---|
host | yes | This argument specifies the hostname or IP address of the SSH server to which a connection is to be made. | ||
| yes | This argument specifies the user account to be used when connecting to the SSH server. | ||
port | no | 22 | This argument specifies the port number of the SSH server. | |
auth_method | no | publickey | This argument specifies the |
authentication method for the SSH server - the publickey and password methods are supported. The path name of the private key file |
is specified with the |
authentication method is used. If the private key file is secured by a password then this |
has to be specified with the |
password
argument. The authorization methods which are enabled Available authentication methods depend on the SSH server configuration. Not all SSH server configurations support the password |
authentication method. | |||
password | no | This argument specifies the user account's password for |
authentication by the SSH server and |
has to be specified if the password |
authentication method is specified |
with the |
passphrase for a private key |
if |
the publickey authentication method is used with the | |||
auth_file | no | This argument specifies the path and name of a |
private key file used for |
authentication with an SSH server. This argument |
has to be specified if the publickey |
authentication method |
is specified |
with the |
then the passphrase |
has to be |
specified with the |
| |||
command_delimiter | no | %% | Command delimiter characters |
can be specified using this argument. |
The delimiters are used in command arguments to separate multiple commands. |
The commands can |
be executed in separate SSH sessions. | |||
command | no | This argument specifies a command that |
should be executed on the SSH server. Multiple commands can be separated by the command delimiter that is specified using the | |||
command_script | no | This argument can be used as an alternative to |
that will be |
stored to a temporary |
file on the remote host and will be executed |
. The script can access task and order arguments by environment variables. Environment variable names are written in upper case |
letter. Order arguments with the same name overwrite |
a job's arguments. | |||
command_script_file | no | This argument can be used as an alternative to |
file, |
that will be transferred to the remote host and will be executed |
. The script can access task and order arguments by environment variables. Environment variable names are written in upper case |
letters. Order arguments with the same name overwrite |
the job's arguments.
|
| ||||
command_script_param | no | This argument contains an argument string that will be appended when a | ||
proxy_host | no | The value of this argument is the host name or the IP address of a proxy used to |
establish the connection to the SSH server. The use of a proxy is optional. | |||
proxy_port | no | This argument specifies the port number of the proxy if a proxy is used to |
establish the connection to the SSH server. | |||
proxy_user | no | The value of this argument specifies the user account for |
authentication by the proxy server if a proxy is used to connect to the SSH server. | |||
proxy_password | no | This argument specifies the password for the proxy server user account if a proxy is used to connect to the SSH server. |
command_script_param
This argument contains a argument string which will be appended when a command_script
or command_script_file
is called.
ignore_error | no | false | If the value of this argument is set to |
are reported by the |
Agent. | |||
ignore_exit_code | no | This argument is used to specify one or more exit codes |
that will not be |
considered as errors. Multiple exit codes can be defined using comma separated values or using ranges. |
| ||
ignore_signal | no | If the value of this argument is set to |
Agent reports errors for commands that are terminated by signals. | |||
ignore_stderr | no | This job checks if any output to stderr has been created by a command that is |
executed on the SSH server and reports |
such output as an error. |
Agent. | |||
simulate_shell | no | If this value is set to |
no shell is |
present. | |||
simulate_shell_prompt_trigger | no | The expected command line prompt. Using this prompt the job tries to find out if commands may be entered or have been carried out. If no prompt can be configured |
then timeout arguments have to be used. | ||||
simulate_shell_inactiity_timeout | no | If this argument is set then the job will assume that the command has been carried out and that the shell is waiting for commands if no new characters are written to stdout or stderr after the given number of milliseconds. |