RemoteRunProcess

RemoteRunProcess["host","command"]

runs the specified system command on the remote host, returning information on the outcome.

RemoteRunProcess[IPAddress["address"],"command"]

runs the command on the machine with the specified IP address.

RemoteRunProcess[obj,"command"]

run the command on the remote host specified by the RemoteConnectionObject obj.

RemoteRunProcess["host",{"command",arg1,arg2,}]

runs the specified command, with command-line arguments argi.

RemoteRunProcess["host", command,"prop"]

returns only the specified property.

RemoteRunProcess["host", command,prop,input]

feeds the specified initial input to the command.

Details and Options

  • RemoteRunProcess returns an association with the process exit code, the standard output and the standard error.
  • RemoteRunProcess["host",] prompts for a username and password.
  • RemoteRunProcess["user@host",] prompts for a password only.
  • RemoteRunProcess will use an ssh-agent for authentication if available.
  • In RemoteRunProcess[command,prop,input], input is automatically converted to a string using ToString. The same is true for the argi in RemoteRunProcess[{command,arg1,},].
  • Typical possible properties to return include:
  • "ExitCode"the exit code for the process
    "StandardOutput"data sent to standard output, as a string
    "StandardError"data sent to standard error, as a string
    Allan association of all properties (default)
  • RemoteRunProcess allows the following options:
  • Authentication$SSHAuthenticationauthentication parameters for the connection
    RemoteAuthorizationCachingFalsewhether to use remote authorization caching
  • In the form Authentication->assoc, the association assoc can contain these keys:
  • "Username"username to use for authentication
    "Password"password to use for authentication
    "SSHKey"SSH identity
    "SSHKeyPassword"passphrase string to use to decrypt SSHKey
  • An SSH identity can be given in the form "SSHKey"->File[ident], where ident is a file containing an SSH private key. It can also be given as "SSHKey"->"string", where "string" is an SSH private key.

Examples

open allclose all

Basic Examples  (1)

Evaluate the hostname command on a remote machine:

Use a specific username to run the uptime command:

Retrieve a specified property from a command:

Provide input to a command:

Create a persistent session with RemoteConnect:

Once the session is created, it can be used without having to reconnect:

Close the session:

Scope  (1)

Obtain the exit code from a command:

Start a process asynchronously. When it is done, read from the log:

Options  (4)

Authentication  (3)

Run a remote process using username and password authentication:

Run a remote process using an identity file for authentication:

Set a value for $SSHAuthentication:

Now processes can be run using the default authentication contained in $SSHAuthentication:

RemoteAuthorizationCaching  (1)

Authorize future connections by placing the public key on the remote machine:

This user is now authorized to execute commands without authentication:

Introduced in 2018
 (11.3)