There was an error while loading. Please reload this page.
env="$HOME/.ssh/agent.env" export SSH_AUTH_SOCK="/tmp/ssh-agent.$USER" export SSH_AGENT_PID="" agent_is_running() { [ -n "$SSH_AUTH_SOCK" ] || return 1 ssh-add -l >/dev/null 2>&1 rc=$? [ "$rc" -eq 0 ] || [ "$rc" -eq 1 ] } agent_load_env() { if [ -f "$env" ]; then . "$env" 2>/dev/null fi } agent_start() { # unique socket path avoids collisions export SSH_AUTH_SOCK="/tmp/ssh-agent.$USER.$$" # remove old socket if leftover [ -S "$SSH_AUTH_SOCK" ] && rm -f "$SSH_AUTH_SOCK" echo "[debug] starting CLEAN agent at $SSH_AUTH_SOCK" ( umask 077; ssh-agent -a "$SSH_AUTH_SOCK" -s > "$env" ) . "$env" 2>/dev/null } add_keys_if_present() { local keys=() for k in "$HOME"/.ssh/*_rsa "$HOME"/.ssh/id_rsa; do [ -f "$k" ] && keys+=("$k") done [ ${#keys[@]} -gt 0 ] && ssh-add "${keys[@]}" } # --- main --- agent_is_running || agent_load_env if ! agent_is_running; then agent_start fi if ! agent_is_running; then echo "[debug] FAILED: agent still not running" else if ! ssh-add -l >/dev/null 2>&1; then add_keys_if_present fi fi unset env