name: "ssh-setup" description: "add a private ssh key" inputs: run-as: default: root description: user to create ssh keys for required: false ssh-key: description: "private ssh key" required: true add-hosts: description: "~/.ssh/known_hosts" required: false runs: using: composite steps: - name: mkdir -p ~/.ssh shell: bash run: su {{ inputs.run-as }} -c "mkdir -p ~/.ssh" - name: add hosts shell: bash run: su {{ inputs.run-as }} -c "echo \"${{ inputs.add-hosts }}\" | xargs ssh-keyscan > ~/.ssh/known_hosts" - name: add ssh key shell: bash run: | su {{ inputs.run-as }} -c "echo \"${{ inputs.ssh-key }}\" | tr -d \"\r\" > ~/.ssh/id_ed25519" su {{ inputs.run-as }} -c "chmod -R 600 ~/.ssh"