Skip to content

Instantly share code, notes, and snippets.

@mzedeler
Forked from bluegraybox/.bashrc_ssh
Last active March 11, 2020 19:02
Show Gist options
  • Save mzedeler/45ef2be24d9ff13b33ba to your computer and use it in GitHub Desktop.
Save mzedeler/45ef2be24d9ff13b33ba to your computer and use it in GitHub Desktop.
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
@felipe1982
Copy link

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