28 lines
847 B
YAML
28 lines
847 B
YAML
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
|