From 243da55c86364d4b1947f9c69c82480446c2c1b9 Mon Sep 17 00:00:00 2001 From: David Tomaschik Date: Tue, 13 Jan 2026 09:25:15 -0800 Subject: [PATCH] Update sshrc --- dotfiles/ssh/rc | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/dotfiles/ssh/rc b/dotfiles/ssh/rc index c8d35a2..225f0ba 100755 --- a/dotfiles/ssh/rc +++ b/dotfiles/ssh/rc @@ -5,23 +5,26 @@ REMOTE_LINK="${HOME}/.ssh/ssh_auth_sock" -if [ "${1:-}" = "force" ] && [ -S "${SSH_AUTH_SOCK}" ] ; then - ln -sf "${SSH_AUTH_SOCK}" "${REMOTE_LINK}" - exit 0 +if [ -S "${SSH_AUTH_SOCK}" ] ; then + SSH_REMOTE_AUTH_SOCK="${SSH_AUTH_SOCK}" + export SSH_REMOTE_AUTH_SOCK + if [ "${1:-}" = "force" ] || [ ! -S "${REMOTE_LINK}" ] ; then + ln -sf "${SSH_AUTH_SOCK}" "${REMOTE_LINK}" + SSH_AUTH_SOCK="${REMOTE_LINK}" + export SSH_AUTH_SOCK + fi fi -if test \! -S "${REMOTE_LINK}" -a -S "${SSH_AUTH_SOCK}" ; then - ln -sf "${SSH_AUTH_SOCK}" "${REMOTE_LINK}" -fi - -# Handle X forwarding, per sshd(8) -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 - +# if stdin is a tty, don't do the cookie step +if [ ! -t 0 ] ; then + # Handle X forwarding, per sshd(8) + if read -r 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 fi