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" chmod -R 600 /home/${{ inputs.run-as }}/.ssh chmod 755 /home/${{ inputs.run-as }}/.ssh