Simple GitHub Action to run a command on a remote server using SSH. This is working with the latest GitHub Actions.
Example using OpenSSH encrypted private key
- name: ls -a via ssh
uses: joaohcrangel/github-action-ssh@release
with:
command: ls -a
host: ${{ secrets.HOST }}
username: joaohcrangel
passphrase: ${{ secrets.PASSPHRASE }}
privateKey: ${{ secrets.PRIVATE_KEY}}
🔐 Set your secrets here: https://github.com/USERNAME/REPO/settings/secrets
.
Check out the workflow example for a minimalistic yaml workflow in GitHub Actions.
Result
-
host - string - Hostname or IP address of the server. Default:
'localhost'
-
port - integer - Port number of the server. Default:
22
-
username - string - Username for authentication. Default: (none)
-
password - string - Password for password-based user authentication. Default: (none)
-
privateKey - mixed - Buffer or string that contains a private key for either key-based or hostbased user authentication (OpenSSH format). Default: (none)
-
passphrase - string - For an encrypted private key, this is the passphrase used to decrypt it. Default: (none)
-
tryKeyboard - boolean - Try keyboard-interactive user authentication if primary user authentication method fails. Default:
false
This thing is built using Typescript and ssh2 (via node-ssh). 🚀