36 lines
		
	
	
		
			765 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			765 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |