-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path99-ssh-agent
40 lines (35 loc) · 1.04 KB
/
99-ssh-agent
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Only run if this is not an SSH session (SSH_CONNECTION is not set)
if [ -z "$SSH_CONNECTION" ]; then
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
# Load the default
/usr/bin/ssh-add;
# Load any any other keys.
#
for i in ~/.secure/ssh.d/keys/* ~/.secure/ssh.d/$(hostname --fqdn)/id; do
if [ -e $i ]; then
case "$i" in
*.pub)
;;
*)
ssh-add "$i"
;;
esac
fi
done
}
# Source SSH settings, if applicable
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