2026-06-17 19:30:07 +02:00
|
|
|
SSH_ENV="$HOME/.ssh/agent-environment"
|
|
|
|
|
|
|
|
|
|
function start_agent {
|
|
|
|
|
echo "Initialising new SSH agent..."
|
2026-06-22 16:31:01 +02:00
|
|
|
mkdir -p "$HOME/.ssh"
|
|
|
|
|
chmod 700 "$HOME/.ssh"
|
2026-06-17 19:30:07 +02:00
|
|
|
/usr/bin/ssh-agent | sed 's/^echo/#echo/' >"$SSH_ENV"
|
|
|
|
|
echo succeeded
|
|
|
|
|
chmod 600 "$SSH_ENV"
|
|
|
|
|
. "$SSH_ENV" >/dev/null
|
2026-06-22 16:31:01 +02:00
|
|
|
/usr/bin/ssh-add 2>/dev/null || true
|
2026-06-17 19:30:07 +02:00
|
|
|
}
|
|
|
|
|
|
2026-06-22 16:31:01 +02:00
|
|
|
# Source SSH settings, if applicable — skip entirely if ssh-agent is not available
|
|
|
|
|
if ! command -v ssh-agent >/dev/null 2>&1; then
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
|
2026-06-17 19:30:07 +02:00
|
|
|
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
|
2026-06-22 16:31:01 +02:00
|
|
|
fi
|