37 lines
1.0 KiB
Bash
Executable File
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 "---" |