export SSH_AUTH_SOCK=~/.ssh/ssh-agent.$USER.sock function ssh-agent-start () { # if that socket does not exist, start the ssh-agent on it if [[ -z $SSH_AGENT_PID ]] then rm $SSH_AUTH_SOCK eval $(ssh-agent -a "$SSH_AUTH_SOCK") > /dev/null # using ssh-add might ask for a password, we don't want that here. # If only using ssh keys without passphrases, you can do this here # ssh-add fi } ssh-agent-start