|
|
@ -1,6 +1,5 @@ |
|
|
|
#!/bin/sh |
|
|
|
# source-ssh-agent: Script to source for ssh-agent to work |
|
|
|
# From http://mah.everybody.org/docs/ssh |
|
|
|
#!/data/data/com.termux/files/usr/bin/sh |
|
|
|
# source-ssh-agent: Script to source for ssh-agent to work. |
|
|
|
|
|
|
|
# Check if accidentaly executed instead of sourced: |
|
|
|
if echo "$0" | grep -q source-ssh-agent; then |
|
|
@ -8,26 +7,19 @@ if echo "$0" | grep -q source-ssh-agent; then |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
SSH_ENV="$HOME/.ssh/environment" |
|
|
|
export SSH_AUTH_SOCK=$PREFIX/tmp/ssh-agent |
|
|
|
|
|
|
|
start_agent () { |
|
|
|
ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" |
|
|
|
chmod 600 "${SSH_ENV}" |
|
|
|
. "${SSH_ENV}" > /dev/null |
|
|
|
rm -f $SSH_AUTH_SOCK |
|
|
|
ssh-agent -a $SSH_AUTH_SOCK > /dev/null |
|
|
|
ssh-add |
|
|
|
} |
|
|
|
|
|
|
|
if [ -f "${SSH_ENV}" ]; then |
|
|
|
. "${SSH_ENV}" > /dev/null |
|
|
|
if ps ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null; then |
|
|
|
# Agent already running, but it may be running without identities: |
|
|
|
if ssh-add -L 2> /dev/null | grep -q 'no identities'; then |
|
|
|
# .. in which case we add them: |
|
|
|
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 |
|
|
|
start_agent |
|
|
|
elif [ "$MESSAGE" = "The agent has no identities." ]; then |
|
|
|
ssh-add |
|
|
|
fi |
|
|
|
else |
|
|
|
start_agent; |
|
|
|
fi |
|
|
|
else |
|
|
|
start_agent; |
|
|
|
fi |
|
|
|