openssh: Update the source-ssh-agent script
This commit is contained in:
parent
c6d716cc0e
commit
2f5fc7139b
@ -1,33 +1,25 @@
|
||||
#!/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
|
||||
echo "source-ssh-agent: Do not execute directly - source me instead!"
|
||||
exit 1
|
||||
echo "source-ssh-agent: Do not execute directly - source me instead!"
|
||||
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
|
||||
ssh-add
|
||||
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:
|
||||
ssh-add
|
||||
fi
|
||||
else
|
||||
start_agent;
|
||||
fi
|
||||
else
|
||||
start_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
|
||||
start_agent
|
||||
elif [ "$MESSAGE" = "The agent has no identities." ]; then
|
||||
ssh-add
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user