Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # add to .bashrc
- # Set up ssh-agent
- SSH_ENV="$HOME/.ssh/environment"
- function start_ssh_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
- # the next line can be removed if you don't want to be prompted for a passphrase start
- /usr/bin/ssh-add
- }
- function kill_ssh_agent {
- bash_count=$(pgrep -c bash)
- if [ $bash_count -gt 2 ]; then
- # don't kill agent when there's still a bash shell running;
- # because this function will be executed inside a bash shell,
- # pgrep will find *2* bash processes when exiting the last real bash
- true
- else
- # do kill agent since this is the last bash
- eval $(ssh-agent -k)
- rm "${SSH_ENV}"
- fi
- }
- # Source SSH settings, if applicable
- if [ -f "${SSH_ENV}" ]; then
- . "${SSH_ENV}" > /dev/null
- kill -0 $SSH_AGENT_PID 2>/dev/null || {
- start_ssh_agent
- }
- else
- start_ssh_agent
- fi
- trap kill_ssh_agent EXIT
Add Comment
Please, Sign In to add comment