termux-packages/packages/openssh/source-ssh-agent.sh

25 lines
718 B
Bash

#!/bin/sh
# source-ssh-agent: Script to source for ssh-agent to work.
start_agent() {
ssh-agent -a "$1" > /dev/null
ssh-add
}
# Allow overriding the start_agent function easily.
if [ -r "${PREFIX}/etc/ssh/start_agent.sh" ]; then
. "${PREFIX}/etc/ssh/start_agent.sh"
fi
export SSH_AUTH_SOCK="${PREFIX}/var/run/ssh-agent"
MESSAGE=$(ssh-add -L 2>&1)
if [ "$MESSAGE" = 'Could not open a connection to your authentication agent.' -o \
"$MESSAGE" = 'Error connecting to agent: Connection refused' -o \
"$MESSAGE" = 'Error connecting to agent: No such file or directory' ]; then
rm -f "${SSH_AUTH_SOCK}"
start_agent "${SSH_AUTH_SOCK}"
elif [ "$MESSAGE" = "The agent has no identities." ]; then
ssh-add
fi