#!/usr/bin/env -S bash -i HOSTNAME=`hostname` if [ -f "${HOME}/.ssh/id_ed25519" ]; then echo "SSH private key already exists. Skipping generating key." else ssh-keygen -t ed25519 -f "${HOME}/.ssh/id_ed25519" -q -P "" -C "$USER@$HOSTNAME" fi echo "--- Exporting key to Github" export GH_TOKEN=`rbw get "Github CLI Token"` gh ssh-key add "${HOME}/.ssh/id_ed25519.pub" --title "$USER@$HOSTNAME" echo "--- Exporting key to Gitea" GITEA_TOKEN=`rbw get "Gitea CLI Token"` SSH_KEY=`cat "${HOME}/.ssh/id_ed25519.pub"` curl -X 'POST' \ 'https://git.devroom.io/api/v1/user/keys' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: token '"${GITEA_TOKEN}"'' \ -d '{ "key": "'"${SSH_KEY}"'", "read_only": false, "title": "'"${USER}"'@'"${HOSTNAME}"'" }' echo "--- Key scanning github and gitea" ssh-keyscan -H git.devroom.io >> "${HOME}/.ssh/known_hosts" ssh-keyscan -H github.com >> "${HOME}/.ssh/known_hosts" echo "--- Your public key, sir:" echo "---" cat "${HOME}/.ssh/id_ed25519.pub" echo "---"