/
ssh_myrc
52 lines (49 loc) · 1.84 KB
/
ssh_myrc
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
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
# Fix SSH auth socket location so agent forwarding works with tmux
echo "Looking at sockets and SSH_AUTH_SOCK currently set to $SSH_AUTH_SOCK (-> $(readlink $SSH_AUTH_SOCK))"
ssh-add -l
if [[ $? -eq 2 ]]; then
if [[ -z $SSH_TTY ]]; then
echo "Cannot connect to gpg agent. Unsetting $SSH_AUTH_SOCK and removing stale SSH_AUTH_SOCK"
rm -f ~/.ssh/ssh_auth_sock
unset SSH_AUTH_SOCK
echo "Killing potentially running gpg-agent, and relaunching"
# pkill -9 gpg-agent
gpgconf --kill gpg-agent
sleep 1
# echo "Launching new gpg-agent"
# requires proper .gnupg/gpg-agent.conf with ssh-enabled option
eval $(gpg-agent --homedir /home/fblaise/.gnupg --daemon)
sleep 3
echo "Setting up env vars"
ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock 2>/dev/null
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
echo "Status: $SSH_AUTH_SOCK -> $(readlink $SSH_AUTH_SOCK)"
fi
fi
export GPG_TTY=$(tty)
echo -n "Updating gpg agent startup tty... " && echo UPDATESTARTUPTTY | gpg-connect-agent
# prior to yubikey and gpg-agent
# if [[ $? -eq 2 ]]; then
# echo "Cannot connect to agent. Unsetting $SSH_AUTH_SOCK"
# unset SSH_AUTH_SOCK
# echo "Removing stale SSH_AUTH_SOCK"
# rm -f ~/.ssh/ssh_auth_sock
# unset SSH_AUTH_SOCK
# eval $(ssh-agent -s)
# ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock 2>/dev/null
# export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
# echo "Now, add your key to the agent."
# fi
#
# # Taken from the sshd(8) manpage.
# if read proto cookie && [ -n "$DISPLAY" ]; then
# if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
# # X11UseLocalhost=yes
# echo add unix:`echo $DISPLAY |
# cut -c11-` $proto $cookie
# else
# # X11UseLocalhost=no
# echo add $DISPLAY $proto $cookie
# fi | xauth -q -
#fi