Instantly share code, notes, and snippets.

Embed
What would you like to do?
bashrc snippet for initializing ssh agent and adding ssh key
#!/bin/bash
# Set up ssh-agent
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
echo "Initializing new SSH agent..."
touch $SSH_ENV
chmod 600 "${SSH_ENV}"
/usr/bin/ssh-agent | sed 's/^echo/#echo/' >> "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
kill -0 $SSH_AGENT_PID 2>/dev/null || {
start_agent
}
else
start_agent
fi
@robertdbailey

This comment has been minimized.

robertdbailey commented Aug 5, 2015

Thanks @mzedeler, works great!

@felipe1982

This comment has been minimized.

felipe1982 commented Apr 12, 2017

Nice work.

  • I replaced touch and chmod with chmod -f ... to silence errors, and save 1 line.
  • I removed echo to keep output clean when logging in.
  • I removed sed to save overhead, and rely on > /dev/null to silence the output.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment