매개변수 없이 ssh가 호출될 때만 기본적으로 tmux를 열도록 ssh 클라이언트를 구성하려면 어떻게 해야 합니까?

매개변수 없이 ssh가 호출될 때만 기본적으로 tmux를 열도록 ssh 클라이언트를 구성하려면 어떻게 해야 합니까?

SSH 연결을 설정할 때 기본적으로 tmux를 사용하고 싶습니다. 이는 다음과 같은 명령과 잘 작동합니다.

ssh host.example.com -t 'tmux a || tmux || /bin/bash'

이것을 ProxyCommand의 일부로 내부에 넣을 수도 있지만 ~/.ssh/config문제는 원격 시스템에서 다른 명령을 실행하는 스크립트의 일부로 SSH 연결도 수행하고 있으며 이 경우 tmux를 원하지 않는다는 것입니다.

tmux 호출이 투명하고 매개변수/명령 없이 ssh가 수집될 때만 발생하도록 이 동작을 달성하려면 어떻게 해야 합니까?

답변1

당신은 바퀴를 다시 발명하고 있습니다.

답변2

이것을 다음에 추가하여 해결되었습니다 ~/.bashrc.

function ssh() {
  if [ "$#" == "1" ]; then
    if [ "${1:0:1}" != "-" ]; then
      /usr/bin/ssh "$@" -t 'tmux a || tmux || /bin/bash'
    else
    /usr/bin/ssh "$@";
    fi
  else
    /usr/bin/ssh "$@";
  fi
}

관련 정보