28 lines
842 B
YAML
28 lines
842 B
YAML
|
name: 'SSH and Execute Command'
|
||
|
description: 'SSH into a remote server and execute a command'
|
||
|
inputs:
|
||
|
host:
|
||
|
description: 'The host of the remote server'
|
||
|
required: true
|
||
|
user:
|
||
|
description: 'The username for the remote server'
|
||
|
required: true
|
||
|
key:
|
||
|
description: 'The SSH key for the remote server'
|
||
|
required: true
|
||
|
command:
|
||
|
description: 'The command to execute on the remote server'
|
||
|
required: true
|
||
|
port:
|
||
|
description: 'The port for SSH connection'
|
||
|
required: false
|
||
|
default: '22'
|
||
|
runs:
|
||
|
using: 'docker'
|
||
|
image: 'docker://liy36/ubuntu-ssh:24.04'
|
||
|
steps:
|
||
|
- run: |
|
||
|
mkdir -p ~/.ssh/
|
||
|
echo "${{ inputs.key }}" > ~/.ssh/id_rsa
|
||
|
chmod 600 ~/.ssh/id_rsa
|
||
|
ssh -o StrictHostKeyChecking=no -p ${{ inputs.port }} ${{ inputs.user }}@${{ inputs.host }} "${{ inputs.command }}"
|