From 0dd063316614ab76057f18ca1edd367ed7189b46 Mon Sep 17 00:00:00 2001 From: Alex Tavarez Date: Wed, 17 Jun 2026 14:42:16 -0400 Subject: [PATCH] hard-coded dedicated SSH keys for staging to automatically populate ssh-agent, added a subcommand for listing SSH keys in use by SSH agent --- skato-ansible.sh | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/skato-ansible.sh b/skato-ansible.sh index 6d5a382..927f9fb 100755 --- a/skato-ansible.sh +++ b/skato-ansible.sh @@ -8,25 +8,30 @@ SKANSIBLE_DEBUG=1 SKANSIBLE_UNIT_TEST=1 DEFAULT_USER=senpai 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 echo "0.0.0" fi if [[ "$1" == "show-defaults" ]]; then + source "${SKANSIBLE_SCRIPT_PATH}/.env/bin/activate" printf "User: %s\n" "$DEFAULT_USER" 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)" fi if [[ "$1" == "start-agent" ]]; then + source "${SKANSIBLE_SCRIPT_PATH}/.env/bin/activate" eval "$(ssh-agent -s)" fi if [[ "$1" == "populate-agent" ]]; then shift 1 + + source "${SKANSIBLE_SCRIPT_PATH}/.env/bin/activate" - if [[ -z "$1" ]]; then + if [[ "$1" == "all" ]]; then for SKANSIBLE_SSH_KEY in ~/.ssh/*; do case $SKANSIBLE_SSH_KEY in *.pub);; @@ -39,12 +44,21 @@ if [[ "$1" == "populate-agent" ]]; then *) ssh-add "${SKANSIBLE_SSH_KEY}";; esac 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 ssh-add "$1" fi fi +if [[ "$1" == "list-agent" ]]; then + source "${SKANSIBLE_SCRIPT_PATH}/.env/bin/activate" + ssh-add -l +fi + if [[ "$1" == "init" ]]; then shift 1