Skip to content

Instantly share code, notes, and snippets.

@bluegraybox
Created March 8, 2012 02:22
Show Gist options
  • Star 25 You must be signed in to star a gist
  • Fork 10 You must be signed in to fork a gist
  • Save bluegraybox/1998129 to your computer and use it in GitHub Desktop.
Save bluegraybox/1998129 to your computer and use it in GitHub Desktop.
Initialize ssh-agent in .bashrc
# Set up ssh-agent
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
echo "Initializing 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
@mzedeler
Copy link

mzedeler commented Feb 3, 2015

I've made a few changes in my fork of this gist:

  • Less output
  • A safer way to create ~/.ssh/environment
  • A more readable way of checking whether ssh-agent is running.

See https://gist.github.com/mzedeler/45ef2be24d9ff13b33ba

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment