Skip to content

Instantly share code, notes, and snippets.

@nickistre
Created December 14, 2022 19:30
Show Gist options
  • Save nickistre/598fe138b25f47f4a90eb456c0398f8c to your computer and use it in GitHub Desktop.
Save nickistre/598fe138b25f47f4a90eb456c0398f8c to your computer and use it in GitHub Desktop.
Using ssh-agent in a cli environment
# Put this in .bash_profile to have ssh-agent running in a cli environment
# From https://stackoverflow.com/a/18915067
# and https://web.archive.org/web/20210506080335/https://mah.everybody.org/docs/ssh
SSH_ENV="$HOME/.ssh/agent-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