Files

37 lines
788 B
YAML

name: SSH runner
description: run commands on SSH hosts
inputs:
host:
description: SSH host
required: true
user:
description: SSH user
required: true
key:
description: SSH private key
required: true
script:
description: commands to run via SSH
required: true
runs:
using: "composite"
steps:
- name: setup ssh
shell: bash
run: |
mkdir -p ~/.ssh
echo "${{ inputs.key }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
- name: add remote host to known_hosts
shell: bash
run: ssh-keyscan -H "${{ inputs.host }}" >> ~/.ssh/known_hosts
- name: run on docker host
shell: bash
run: |
ssh ${{ inputs.user }}@${{ inputs.host }} << 'EOF'
${{ inputs.script }}
EOF