diff --git a/agent-start b/agent-start index cddeee6..1ed7c76 100644 --- a/agent-start +++ b/agent-start @@ -6,7 +6,17 @@ mkdir -p "$STORE_PATH" # Start the SSH agent if it isn't already. if [ -z "$SSH_AGENT_PID" ]; then - eval "$(ssh-agent)" > /dev/null - echo "$SSH_AGENT_PID" > "$STORE_PATH"/id - echo "$SSH_AUTH_SOCK" > "$STORE_PATH"/sock + if [ -f "$STORE_PATH/id" ]; then + # Our auth agent is already running. + # Reload the vars, and export them. + SSH_AGENT_PID=$(cat "$STORE_PATH/id") + export SSH_AGENT_PID + + SSH_AUTH_SOCK=$(cat "$STORE_PATH/sock") + export SSH_AUTH_SOCK + else + eval "$(ssh-agent)" > /dev/null + echo "$SSH_AGENT_PID" > "$STORE_PATH"/id + echo "$SSH_AUTH_SOCK" > "$STORE_PATH"/sock + fi fi