#!/bin/bash # ssh-agent key lifetime alias ssh-add="ssh-add -t 43200" 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 # Test the ssh-add if status return 0/1, agent is initialized /usr/bin/ssh-add; ST=$? if [ $ST -ne 0 ] && [ $ST -ne 1 ]; then return $ST fi return 0 } # 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