arch-install/scripts/setup_ssh_key.sh

37 lines
1.0 KiB
Bash
Raw Normal View History

2024-06-07 10:31:29 +00:00
#!/usr/bin/env -S bash -i
HOSTNAME=`hostname`
2024-06-07 13:08:52 +00:00
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
2024-06-07 11:44:37 +00:00
2024-06-07 13:08:52 +00:00
echo "--- Exporting key to Github"
export GH_TOKEN=`rbw get "Github CLI Token"`
2024-06-07 11:44:37 +00:00
gh ssh-key add "${HOME}/.ssh/id_ed25519.pub" --title "$USER@$HOSTNAME"
2024-06-07 13:08:52 +00:00
echo "--- Exporting key to Gitea"
GITEA_TOKEN=`rbw get "Gitea CLI Token"`
SSH_KEY=`cat "${HOME}/.ssh/id_ed25519.pub"`
2024-06-07 11:44:37 +00:00
curl -X 'POST' \
'https://git.devroom.io/api/v1/user/keys' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
2024-06-07 13:08:52 +00:00
-H 'Authorization: token '"${GITEA_TOKEN}"'' \
2024-06-07 11:44:37 +00:00
-d '{
2024-06-07 13:08:52 +00:00
"key": "'"${SSH_KEY}"'",
2024-06-07 11:44:37 +00:00
"read_only": false,
2024-06-07 13:08:52 +00:00
"title": "'"${USER}"'@'"${HOSTNAME}"'"
2024-06-07 11:44:37 +00:00
}'
2024-06-07 10:31:29 +00:00
2024-06-07 13:08:52 +00:00
echo "--- Key scanning github and gitea"
2024-06-07 10:31:29 +00:00
ssh-keyscan -H git.devroom.io >> "${HOME}/.ssh/known_hosts"
ssh-keyscan -H github.com >> "${HOME}/.ssh/known_hosts"
echo "--- Your public key, sir:"
2024-06-07 11:44:37 +00:00
echo "---"
cat "${HOME}/.ssh/id_ed25519.pub"
echo "---"