From 32091dbf69ebf259e42907bc49d5a4750a5f19b4 Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Mon, 12 Jan 2026 12:45:48 -0500 Subject: [PATCH] [bin] Only load ssh keys for host --- bin/.bin/load_keys | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/bin/.bin/load_keys b/bin/.bin/load_keys index 82f0d6f..2fcd724 100755 --- a/bin/.bin/load_keys +++ b/bin/.bin/load_keys @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -euo pipefail +HOST="${HOST:-$(hostname -s 2>/dev/null || hostname)}" PASS_BASE="personal/ssh" STORE_ROOT="${PASSWORD_STORE_DIR:-$HOME/.password-store}" ABS_BASE_PATH="${STORE_ROOT}/${PASS_BASE}" @@ -16,12 +17,13 @@ if [[ ! -d "$ABS_BASE_PATH" ]]; then exit 1 fi + # Loop through each identity subdirectory -echo -n "Injecting ssh keys " +echo -n "Loading ssh keys for host: " while IFS= read -r dir; do IDENTITY=$(basename "$dir") - - # Find the latest .gpg file by name (ISO sort) + + # Find the latest .gpg file by name (ISO sort) and hostname LATEST_FILE=$(find "$dir" -maxdepth 1 -name "*.gpg" -exec basename {} \; \ | sed 's/\.gpg$//' \ | sort -r \ @@ -31,10 +33,10 @@ while IFS= read -r dir; do continue fi - echo -n "." + echo -n "$HOST" # Decrypt and pipe directly to ssh-add # The '-' tells ssh-add to read the key from standard input (stdin) pass show "${PASS_BASE}/${IDENTITY}/${LATEST_FILE}" | ssh-add - >/dev/null 2>&1 -done < <(find "$ABS_BASE_PATH" -mindepth 1 -maxdepth 1 -type d) +done < <(find "$ABS_BASE_PATH" -mindepth 1 -maxdepth 1 -type d -name "*${HOST}*")