Command Command

yaml
type: "io.kestra.plugin.fs.ssh.Command"

Send a command to a remote server using SSH.

Examples

Run SSH command using password authentication

yaml
id: fs_ssh_command
namespace: company.team

tasks:
  - id: command
    type: io.kestra.plugin.fs.ssh.Command
    host: localhost
    port: "22"
    authMethod: PASSWORD
    username: foo
    password: pass
    commands: ['ls']

Run SSH command using public key authentication (must be an OpenSSH private key)

yaml
id: fs_ssh_command
namespace: company.team

tasks:
  - id: command
    type: io.kestra.plugin.fs.ssh.Command
    host: localhost
    port: "22"
    authMethod: PUBLIC_KEY
    username: root
    privateKey: "{{ secret('SSH_RSA_PRIVATE_KEY') }}"
    commands: ['touch kestra_was_here']

Run SSH command using the local OpenSSH configuration

yaml
id: ssh
namespace: company.team
tasks:
  - id: ssh
    type: io.kestra.plugin.fs.ssh.Command
    authMethod: OPEN_SSH
    useOpenSSHConfig: true
    host: localhost
    password: pass.
    commands:
      - echo "Hello World"

Properties

authMethod

  • Type: string
  • Dynamic: ✔️
  • Required: ✔️
  • Default: PASSWORD
  • Possible Values:
    • PASSWORD
    • PUBLIC_KEY
    • OPEN_SSH

Authentication method

commands

  • Type: array
  • SubType: string
  • Dynamic: ✔️
  • Required: ✔️
  • Min items: 1

The list of commands to run on the remote server

enableSshRsa1

  • Type:
    • boolean
    • string
  • Dynamic: ✔️
  • Required: ✔️

host

  • Type: string
  • Dynamic: ✔️
  • Required: ✔️

Hostname of the remote server

warningOnStdErr

  • Type:
    • boolean
    • string
  • Dynamic: ✔️
  • Required: ✔️

env

  • Type: object
  • SubType: string
  • Dynamic: ✔️
  • Required:

Environment variables to pass to the SSH process.

openSSHConfigDir

  • Type: string
  • Dynamic: ✔️
  • Required:
  • Default: ~/.ssh/config

OpenSSH configuration directory in case the authentication method is OPEN_SSH.

password

  • Type: string
  • Dynamic: ✔️
  • Required:

Password on the remote server, required for password auth method

port

  • Type: string
  • Dynamic: ✔️
  • Required:
  • Default: 22

Port of the remote server

privateKey

  • Type: string
  • Dynamic: ✔️
  • Required:

Private SSH Key to authenticate, required for pubkey auth method

privateKeyPassphrase

  • Type: string
  • Dynamic: ✔️
  • Required:

Passphrase used in order to unseal the private key, optional for pubkey auth method

strictHostKeyChecking

  • Type: string
  • Dynamic: ✔️
  • Required:
  • Default: no

Whether to check if the host public key could be found among known host, one of 'yes', 'no', 'ask'

username

  • Type: string
  • Dynamic: ✔️
  • Required:

Username on the remote server, required for password auth method

Outputs

exitCode

  • Type: integer
  • Required: ✔️
  • Default: 0

The exit code of the entire Flow Execution

vars

  • Type: object
  • Required:

The value extracted from the output of the executed commands

Was this page helpful?