hard-coded dedicated SSH keys for staging to automatically populate ssh-agent, added a subcommand for listing SSH keys in use by SSH agent

This commit is contained in:
2026-06-17 14:42:16 -04:00
parent 9945330b82
commit 0dd0633166

View File

@@ -8,25 +8,30 @@ SKANSIBLE_DEBUG=1
SKANSIBLE_UNIT_TEST=1 SKANSIBLE_UNIT_TEST=1
DEFAULT_USER=senpai DEFAULT_USER=senpai
DEFAULT_SKANSIBLE_PLAY_HOST=vps DEFAULT_SKANSIBLE_PLAY_HOST=vps
SKANSIBLE_SSH_KEY_COLLECTION=(~/.ssh/ed25519\@staging ~/.ssh/ecdsa\@staging ~/.ssh/ed25519-37851076-sk\@staging ~/.ssh/ecdsa-37851076-sk\@staging)
if [[ "$1" == "version" ]]; then if [[ "$1" == "version" ]]; then
echo "0.0.0" echo "0.0.0"
fi fi
if [[ "$1" == "show-defaults" ]]; then if [[ "$1" == "show-defaults" ]]; then
source "${SKANSIBLE_SCRIPT_PATH}/.env/bin/activate"
printf "User: %s\n" "$DEFAULT_USER" printf "User: %s\n" "$DEFAULT_USER"
printf "Expected hosts for playbook: %s\n" "$DEFAULT_SKANSIBLE_PLAY_HOST" printf "Expected hosts for playbook: %s\n" "$DEFAULT_SKANSIBLE_PLAY_HOST"
printf "Private SSH keys available throufh SSH agent: |\n%s\n" "$(ssh-add -l)" printf "Private SSH keys available throufh SSH agent: |\n%s\n" "$(ssh-add -l)"
fi fi
if [[ "$1" == "start-agent" ]]; then if [[ "$1" == "start-agent" ]]; then
source "${SKANSIBLE_SCRIPT_PATH}/.env/bin/activate"
eval "$(ssh-agent -s)" eval "$(ssh-agent -s)"
fi fi
if [[ "$1" == "populate-agent" ]]; then if [[ "$1" == "populate-agent" ]]; then
shift 1 shift 1
source "${SKANSIBLE_SCRIPT_PATH}/.env/bin/activate"
if [[ -z "$1" ]]; then if [[ "$1" == "all" ]]; then
for SKANSIBLE_SSH_KEY in ~/.ssh/*; do for SKANSIBLE_SSH_KEY in ~/.ssh/*; do
case $SKANSIBLE_SSH_KEY in case $SKANSIBLE_SSH_KEY in
*.pub);; *.pub);;
@@ -39,12 +44,21 @@ if [[ "$1" == "populate-agent" ]]; then
*) ssh-add "${SKANSIBLE_SSH_KEY}";; *) ssh-add "${SKANSIBLE_SSH_KEY}";;
esac esac
done done
else elif [[ "$1" == "select" ]]; then
for key in "${SKANSIBLE_SSH_KEY_COLLECTION[@]}"; do
ssh-add "$key"
done
elif [[ -z "$1" ]]; then
# @TODO improve by adding fuzzy querying or file finding pror # @TODO improve by adding fuzzy querying or file finding pror
ssh-add "$1" ssh-add "$1"
fi fi
fi fi
if [[ "$1" == "list-agent" ]]; then
source "${SKANSIBLE_SCRIPT_PATH}/.env/bin/activate"
ssh-add -l
fi
if [[ "$1" == "init" ]]; then if [[ "$1" == "init" ]]; then
shift 1 shift 1