36 lines
765 B
Bash
Executable File
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
|