From 04d4ab4d253166a728832cdb13141936cfbe71a3 Mon Sep 17 00:00:00 2001 From: David Tomaschik Date: Fri, 6 Nov 2020 09:35:45 -0800 Subject: [PATCH] Improve remote SSH agent --- dotfiles/ssh/rc | 12 ++++++++++-- dotfiles/tmux.conf | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/dotfiles/ssh/rc b/dotfiles/ssh/rc index 4ad8ebc..53b0d29 100755 --- a/dotfiles/ssh/rc +++ b/dotfiles/ssh/rc @@ -1,7 +1,15 @@ #!/bin/sh -REMOTE_LINK="${HOME}/.ssh/remote_agent.sock" +# Roughly based on this article: +# https://werat.github.io/2017/02/04/tmux-ssh-agent-forwarding.html -if test \! -e "${REMOTE_LINK}" -a -n "${SSH_AUTH_SOCK}" ; then +REMOTE_LINK="${HOME}/.ssh/ssh_auth_sock" + +if [ "${1:-}" = "force" ] && [ -S "${SSH_AUTH_SOCK}" ] ; then + ln -sf "${SSH_AUTH_SOCK}" "${REMOTE_LINK}" + exit 0 +fi + +if test \! -S "${REMOTE_LINK}" -a -S "${SSH_AUTH_SOCK}" ; then ln -sf "${SSH_AUTH_SOCK}" "${REMOTE_LINK}" fi diff --git a/dotfiles/tmux.conf b/dotfiles/tmux.conf index 8ec9709..210fcc3 100644 --- a/dotfiles/tmux.conf +++ b/dotfiles/tmux.conf @@ -1,6 +1,9 @@ # Update environment on reconnect set -g update-environment "DISPLAY WINDOWID SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION" +# Use symlink socket +set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock + # Custom binds bind K confirm kill-server bind X confirm kill-window