Control / exec · All operations

Run a command on a remote machine

A variant of Run an external command

Run commands on another computer, over SSH or its own command protocol, and return the output.

Status

In arcform

Not built yet

arcform does not do this yet; it would live in how a Protocol runs. Its place on the roadmap

What other tools call it

Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).

Apache Hop (2)
  • AS/400 commandread 2026-09-27

    Run a CL command on an IBM AS/400 system

  • Run SSH commandsread 2026-09-27

    Run commands on a remote host over SSH and return the output

EasyMorph (1)
  • SSH commandread 2026-09-27

    Run commands on a remote computer over SSH (paid editions only)

Pentaho Data Integration (1)
RapidMiner Studio (1)
Talend (1)
  • tSSHread 2026-09-27

    Run a command on a remote computer over SSH and return its output

Background

The Secure Shell (SSH) protocol is a cryptographic network protocol whose most notable applications are remote login and command-line execution.[1] With the ssh command, a specified command is executed on the remote host instead of a login shell.[2] Apache Hop's Run SSH commands transform runs commands over SSH and passes text they write to standard output or standard error on in a field.[3]

When to use it

EasyMorph's SSH command action can trigger an external application before collecting the files it generates, or obtain a list of files on a remote computer.[4] EasyMorph's SSH command action executes one or more commands in the same SSH session.[4]

Apache Hop's Run SSH commands transform returns the concatenation of the command's standard output and standard error in its response field, and a Boolean error field that is true if there was an error.[3] Where the output must be parsed, have the remote command write its result somewhere it can be read on its own, such as a file. (Meridian's view) RapidMiner's Execute Remote Program operator throws an error when its fail on error parameter is set and the command does not return the exit code of 0.[5] The ssh command exits with the exit status of the remote command, or with 255 if an error occurred.[2] Before reading an exit status of 255 as a failed connection, check whether the remote program can return 255 itself. (Meridian's view) The ssh command appends any arguments to the command, separated by spaces, before sending it to the server to be executed.[2] Quote arguments with the remote side in mind as well as the local one. (Meridian's view) By default, Apache Hop's Run SSH commands transform waits until a command ends, however long it runs, unless a command timeout is set.[3]

The method

Tatu Ylönen, a researcher at Helsinki University of Technology in Finland, designed the first version of SSH in 1995, prompted by a password-sniffing attack at his university network.[1] SSH applications are based on a client–server architecture, connecting an SSH client instance with an SSH server.[1] SSH is a layered protocol suite in which the transport layer provides server authentication, confidentiality and integrity, the user authentication protocol validates the user, and the connection protocol multiplexes the encrypted tunnel into logical channels.[1] SSH uses public-key cryptography to authenticate the remote computer and allow it to authenticate the user, if necessary.[1] Port 22 is the standard port for SSH servers, and it is the default port in Apache Hop's Run SSH commands transform.[1][3] The most commonly implemented SSH software stack is OpenSSH, released in 1999 as open-source software by the OpenBSD developers.[1] Apache Hop's Run SSH commands transform can log in with a password or with a private key, the private part of an RSA key pair.[3]

Compared with the alternatives

The remote shell (rsh) is a command-line program that can execute shell commands as another user, and on another computer across a computer network.[6] The rsh protocol is not secure for network use because it sends unencrypted information over the network, and rsh has largely been replaced by the secure shell (ssh) program.[6] SSH was designed for Unix-like operating systems as a replacement for Telnet and for unsecured remote Unix shell protocols such as rsh.[1]