Files
skel/dotfiles/ssh/rc
David Tomaschik 243da55c86 Update sshrc
2026-01-13 09:25:15 -08:00

31 lines
871 B
Bash
Executable File

#!/bin/sh
# Roughly based on this article:
# https://werat.github.io/2017/02/04/tmux-ssh-agent-forwarding.html
REMOTE_LINK="${HOME}/.ssh/ssh_auth_sock"
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 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