Skip to content

Instantly share code, notes, and snippets.

@ludoo0d0a
Created April 10, 2017 08:24
Show Gist options
  • Save ludoo0d0a/dde722c191837a4e050886d65d43ac81 to your computer and use it in GitHub Desktop.
Save ludoo0d0a/dde722c191837a4e050886d65d43ac81 to your computer and use it in GitHub Desktop.
Start ssh-agent properly and register keys
#
# Start ssh-agent once only and register keys
#
# Usage : put this in .bashrc
# if [ -f ~/.bash_ssh ]; then
# . ~/.bash_ssh
# fi
#
# http://stackoverflow.com/questions/18880024/start-ssh-agent-on-login#18915067
#
# useful commands :
# > eval $(ssh-agent -s)
# > ps -e | grep [s]sh-agent
# > ssh-add ~/.ssh/id_rsa
# > ssh-add -l
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
/usr/bin/ssh-add;
}
# 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment