Skip to content

fifsky/ssh-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Remote SSH Commands

Simple GitHub Action to run a command on a remote server using SSH. This is working with the latest GitHub Actions.

⭐️ SSH password are supported from version 0.0.3

✨ Example Usage

Example using OpenSSH private key

- name: ls -a via ssh
  uses: fifsky/ssh-action@master
  with:
    command: |
      cd /tmp
      ls -a
    host: ${{ secrets.HOST }}
    user: root
    key: ${{ 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

result of example ssh workflow

Options

  • host - string - Hostname or IP address of the server. Default: 'localhost'

  • port - integer - Port number of the server. Default: 22

  • user - string - Username for authentication. Default: (root)

  • key - string - Required, that contains a private key for either key-based or hostbased user authentication (OpenSSH format). Default: (none)

  • pass - string - Password for authentication.

  • args - string - SSH parameters for example: -tt.

Password and Private Key can only be configured one item

If you need to add some extra SSH parameters, you can setting the args option.

For example, add -tt parameter to solve: #4

Pseudo-terminal will not be allocated because stdin is not a terminal.

Tips

If emitting "mesg: ttyname failed: Inappropriate ioctl for device", You need to modify your Linux files as follows

vim /root/.profile
// Modify the "mesg n || true"  to "tty -s && mesg n || true"

Thanks

Documentation and parameters design from: https://github.com/garygrossgarten/github-action-ssh