Skip to content

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.

Copy link

robertdbailey commented Aug 5, 2015

Thanks @mzedeler, works great!

@felipe1982

This comment has been minimized.

Copy link

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
You can’t perform that action at this time.