123456789101112131415161718192021222324252627282930313233343536373839 |
- #### My (demuredemeanor) sub source ssh-agent script
- # Uses tabstop=4; shiftwidth=4 tabs; foldmarker={{{,}}};
- # https://notabug.org/demure/dotfiles/
- # legacy repo http://github.com/demure/dotfiles
- # vim:set syntax=sh:
- # Add check for key exists first
- # Add check -> Y/N for ssh_env existing? might not need, if using __ssh_agent right
- ### SSH Agent ### {{{
- function __ssh_agent() {
- local SSH_ENV="$HOME/.ssh/environment"
- local U_CHECK="$(logname)"
- logname &>/dev/null
- local F_CHECK="$?"
- 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;
- }
- ## Source SSH settings, if applicable
- if [ ${F_CHECK} == 0 ] && { [ "${U_CHECK}" == "${USER}" ] || [ "${U_CHECK}" == "logname: no login name" ] ;}; then
- if [ -f "${SSH_ENV}" ]; then
- . "${SSH_ENV}" > /dev/null
- ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
- __start_agent;
- }
- else
- __start_agent;
- fi
- fi
- }
- ### End SSH Agent ### }}}
|