utils/bash/sources/09_ssh-agent

36 lines
765 B
Bash
Executable File

#!/bin/bash
# ssh-agent key lifetime
alias ssh-add="ssh-add -t 43200"
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
echo "Initialising new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
echo succeeded
chmod 600 "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
# Test the ssh-add if status return 0/1, agent is initialized
/usr/bin/ssh-add;
ST=$?
if [ $ST -ne 0 ] && [ $ST -ne 1 ]; then
return $ST
fi
return 0
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
#ps ${SSH_AGENT_PID} doesn't work under cywgin
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi