diff --git a/agent-start b/agent-start index b33bf22..cddeee6 100644 --- a/agent-start +++ b/agent-start @@ -1,17 +1,12 @@ #!/bin/sh -STORE_PATH=/tmp -if [ ! -z "$1" ]; then - # This allows us to work with things like gitlab. - # where the same thing might be running concurrently. - # If default, it only stores in /tmp/, but if a path is added, it's interpolated. - STORE_PATH="$STORE_PATH/$1" - mkdir -p "$STORE_PATH" -fi +FOLDER=${1:-default} +STORE_PATH="/tmp/ssh-agent/$FOLDER" +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"/ssh-agent-id - echo "$SSH_AUTH_SOCK" > "$STORE_PATH"/ssh-auth-sock + echo "$SSH_AGENT_PID" > "$STORE_PATH"/id + echo "$SSH_AUTH_SOCK" > "$STORE_PATH"/sock fi diff --git a/agent-stop b/agent-stop index 8f2f829..d43bbeb 100644 --- a/agent-stop +++ b/agent-stop @@ -6,10 +6,8 @@ if [ ! -z "$SSH_AGENT_PID" ]; then exit $? else # The env isn't set, construct the file path. - STORE_PATH=/tmp - if [ ! -z "$1" ]; then - STORE_PATH="$STORE_PATH/$1" - fi + FOLDER=${1:-default} + STORE_PATH="/tmp/ssh-agent/$FOLDER" if [ ! -d "$STORE_PATH" ]; then echo "Store Path $STORE_PATH doesn't exist!" >&2 exit 1 @@ -18,14 +16,16 @@ else # And check our files exist. if [ -f "$STORE_PATH/ssh-agent-id" ]; then # Grab our PID and socket. - SSH_AGENT_PID=$(cat "$STORE_PATH/ssh-agent-id") + SSH_AGENT_PID=$(cat "$STORE_PATH/id") export SSH_AGENT_PID rm "$STORE_PATH/ssh-agent-id" - SSH_AUTH_SOCK=$(cat "$STORE_PATH/ssh-auth-sock") + SSH_AUTH_SOCK=$(cat "$STORE_PATH/sock") export SSH_AUTH_SOCK rm "$STORE_PATH/ssh-auth-sock" + + rmdir "$STORE_PATH" eval $(ssh-agent -k) >/dev/null exit $? else