arch-install/scripts/setup_ssh_key.sh

37 lines
1.0 KiB
Bash
Executable File

#!/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 "---"