#!/bin/bash # # Initializes the ssh-agent # # SSH Agent #SSHAGENT=/usr/bin/ssh-agent #SSHAGENTARGS="-s" # #function ssh_agent_eval_run { # eval `$SSHAGENT $SSHAGENTARGS` &> /dev/null # trap "ps $SSH_AGENT_PID &> /dev/null && kill $SSH_AGENT_PID" 0 #} # #if [ "$1" == "-f" ]; then # echo "Starting a new ssh-agent..." # ssh_agent_eval_run #elif [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then # ssh_agent_eval_run #fi # See http://mah.everybody.org/docs/ssh SSH_ENV="$HOME/.ssh/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; if [ -x "/usr/bin/monkeysphere" ]; then /usr/bin/monkeysphere subkey-to-ssh-agent fi } # 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