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