ssh-agent

Zur bequemen Nutzung des ssh-agents kann folgendes in die .bash_profile geschrieben werden. Damit wird - falls nicht bereits geschehen ein ssh-agent gestartet und beim erneuten einloggen der bereits gestartete agent (inklusive der hinzugefügten Schlüssel ) verwendet.

SSH_AGENT_FILE=~/.ssh/ssh_agent
SSH_AGENT=/usr/bin/ssh-agent
SSH_AGENT_ARGS="-s"
 
ssh_agent_start()
{
  echo "$(color ltyellow)* $(color off)starting ssh-agent"
  ${SSH_AGENT} ${SSH_AGENT_ARGS} &> ${SSH_AGENT_FILE}
  chmod 600 ${SSH_AGENT_FILE}
  . ${SSH_AGENT_FILE} &> /dev/null
}
 
if [ -f "${SSH_AGENT_FILE}" ]; then
  . ${SSH_AGENT_FILE} &> /dev/null
  SSH_AGENT_MANAGED_KEYS=$(ssh-add -l 2> /dev/null)
  SSH_ADD_EXITCODE=${?}
  if [ "${SSH_ADD_EXITCODE}" -gt "1" ]; then
    ssh_agent_start
    echo "$(color ltyellow)> $(color off)no keys added so far (use ssh-add)"
  else
    echo "$(color ltgreen)* $(color off)detected ssh-agent (pid=${SSH_AGENT_PID})"
    if [ "${SSH_ADD_EXITCODE}" -eq "1" ]; then
      echo "$(color ltyellow)> $(color off)no keys added so far (use ssh-add)"
    else
      echo "$(color ltgreen)> $(color off)already added keys (remove with ssh-add -d or ssh-add -D):"
      echo "$(color ltgreen)> $(color off)${SSH_AGENT_MANAGED_KEYS}"
    fi
  fi
else
  ssh_agent_start
  echo "$(color ltyellow)> $(color off)no keys added so far (use ssh-add)"
fi
 
linux/ssh-agent.txt · Zuletzt geändert: 18.12.2006 21:28:50 von da7a