Help and docs
Sign in

grindlemire/dotfiles code browser

01-07-demo_09246a78_add_activity_feed_api 022fce1
42 lines · 1.2 KB
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# This script will ensure that the ssh signing key is loaded into a running agent


start_ssh_agent() {
    echo "stopping ssh-agent"
    killall ssh-agent > /dev/null 2>&1 || true
    unset SSH_AUTH_SOCK
    unset SSH_AGENT_PID

    # Start ssh-agent if it's not already running
    eval `ssh-agent -s`
    echo "ssh-agent started"

    # Add the signing key to the agent
    echo "adding signing_key_rsa to the agent"
    ssh-add ~/.ssh/signing_key_rsa
}

# Check if ssh-agent is running
if [ -n "$SSH_AUTH_SOCK" ] && [ -n "$SSH_AGENT_PID" ] && $(ps aux | grep -v grep | grep -q $SSH_AGENT_PID) ; then
    echo "ssh-agent is already running"

    # check if ssh-add -l returns an error
    ssh-add -l > /dev/null 2>&1
    if [ $? -ne 0 ]; then
        echo "ssh-agent is running but not initialized, restarting it"
        start_ssh_agent
        return 0
    fi

    ssh-add -l | grep -q "$(ssh-keygen -lf ~/.ssh/signing_key_rsa.pub | awk '{print $2}')"
    if [ $? -eq 0 ]; then
        echo "signing_key_rsa is already added to the agent"
        return 0
    fi
    # Add the signing key to the agents
    echo "adding signing_key_rsa to the agent"
    ssh-add ~/.ssh/signing_key_rsa
    return 0
fi

start_ssh_agent