CloudBees action: Execute commands on a remote server through SSH

1 minute read

Use this action to connect to a remote server and execute commands via the Secure Shell Protocol (SSH).

All CloudBees action repositories are listed at CloudBees, Inc. on GitHub.

Inputs

Table 1. Input details
Input name Data type Required? Description

host

String

Yes

SSH host address.

username

String

Yes

The SSH username.

port

String

No

SSH port number. Default is 22.

script

String

Yes

The commands to be executed.

key-path

String

Required only if password is not specified.

The path to the SSH private key file.

passphrase

String

No

The SSH key passphrase.

password

String

Required only if key-path is not specified.

The SSH password.

Usage examples

Execute remote commands using an SSH private key

In your YAML file, add:

      - name: SSH with username and key
        uses: cloudbees-io/ssh-deploy-actions@v1
        with:
          host: ${{ secrets.SSH_HOST }}
          username: user1
          key_path: ${{ secrets.SSH_PRIVATE_KEY }}
          port: "22"
          script: whoami,pwd,echo "hello"

Execute remote commands using a password

In your YAML file, add:

      - name: SSH with username and password
        uses: cloudbees-io/ssh-deploy-actions@v1
        with:
          host: ${{ secrets.SSH_HOST }}
          username: testUser
          password: ${{ secrets.SSH_PASSWORD }}
          port: "22"
          script: whoami,pwd

Execute remote commands using a passphrase-protected key

In your YAML file, add:

      - name: SSH with username and passphrase-protected key
        uses: cloudbees-io/ssh-deploy-actions@v1
        with:
          host: ${{ secrets.SSH_HOST }}
          username: demoUser
          key_path: ${{ secrets.SSH_PP_KEY }}
          port: "22"
          passphrase: ${{ secrets.SSH_PP_KEY_PASSPHRASE }}
          script: pwd,echo "hello"