diff --git a/hooks/pre-exit b/hooks/pre-exit index f63dabf..b36e3f9 100755 --- a/hooks/pre-exit +++ b/hooks/pre-exit @@ -1,6 +1,8 @@ #!/bin/bash -if [[ -n "${SSH_AGENT_PID:-}" ]] && ps -p "$SSH_AGENT_PID" &>/dev/null; then - echo "~~~ Stopping ssh-agent ${SSH_AGENT_PID}" - ssh-agent -k -fi \ No newline at end of file +if [[ -n "${EPHEMERAL_SSH_AGENT_PID:-}" ]] && ps -p "$EPHEMERAL_SSH_AGENT_PID" &>/dev/null; then + echo "~~~ Stopping ssh-agent ${EPHEMERAL_SSH_AGENT_PID}" + SSH_AGENT_PID="${EPHEMERAL_SSH_AGENT_PID}" ssh-agent -k +else + echo "~~~ No Ephemeral SSH Agent found" +fi diff --git a/lib/shared.bash b/lib/shared.bash index 928bf78..16ad08f 100644 --- a/lib/shared.bash +++ b/lib/shared.bash @@ -210,6 +210,7 @@ add_ssh_private_key_to_agent() { if [[ -z "${SSH_AGENT_PID:-}" ]] ; then echo "Starting an ephemeral ssh-agent" >&2; eval "$(ssh-agent -s)" + export EPHEMERAL_SSH_AGENT_PID="${SSH_AGENT_PID}" fi echo "Loading ssh-key into ssh-agent (pid ${SSH_AGENT_PID:-})" >&2;