나는 주로 Mac에서 작업하고 Linux 시스템에 ssh / tmux 첨부 작업을 수행합니다. Linux 컴퓨터에서 ssh-agent를 실행 중입니다. 나는 가지고있다
set -g update-environment "SSH_AUTH_SOCK SSH_ASKPASS WINDOWID SSH_CONNECTION XAUTHORITY"
내 .tmux.conf
. 그러나이 세션에 다시 첨부 할 때마다
tmux setenv SSH_AUTH_SOCK $SSH_AUTH_SOCK
새로운 tmux 창이 $SSH_AUTH_SOCK
올바르게 설정되었습니다. 나는 이것을하지 않을 것을 선호합니다. 어떤 아이디어?
최신 정보
나는 이것을 잘 설명하고 있지 않다고 생각합니다. 원격 시스템에서 쉘을 여는 쉘 기능은 다음과 같습니다.
sshh () {
tmux -u neww -n ${host} "ssh -Xt ${host} $*"
}
TMUX이 SSH 명령을 실행하면 $SSH_AUTH_SOCK
됩니다 하지 그것이 비록 설정 되어 내 로컬 환경에서 설정합니다. setenv
위 의 명령 으로 tmux 환경에 이것을 넣으면 모든 것이 잘 작동합니다. 내 질문은 왜 setenv 명령을 실행해야합니까?
업데이트 2
추가 정보:
기존 세션에 연결할 때 $SSH_AUTH_SOCK
tmux 환경 (또는 글로벌 환경)에서 설정되지 않습니다.
% tmux showenv | grep -i auth_sock
-SSH_AUTH_SOCK
수동으로 설정하면 작동합니다.
% tmux setenv SSH_AUTH_SOCK $SSH_AUTH_SOCK
분리했다 $SSH_AUTH_SOCK
가 다시 연결하면 설정되지 않은 상태로 돌아갑니다.
env
있습니까?