호출 애플리케이션(ssh 또는 sshfs)을 기반으로 ~/.ssh/config에 조건부 옵션을 추가할 수 있습니까?

호출 애플리케이션(ssh 또는 sshfs)을 기반으로 ~/.ssh/config에 조건부 옵션을 추가할 수 있습니까?

내 ~/.ssh/config 파일에는 다음과 같은 옵션이 있습니다.

RemoteCommand /bin/sh -c 'tmux has-session && exec tmux attach || exec tmux'

SSH를 통해 연결하면 자동으로 tmux가 시작되고 기존 세션에 연결됩니다(가능한 경우).

이로 인해 sshfs가 오류로 인해 연결에 실패하게 됩니다 read: Connection reset by peer.

sshfs를 사용하여 파일 시스템을 마운트하려고 할 때 이 옵션을 ssh를 사용하여 연결할 때만 선택적으로 적용할 수 있는 방법이 있습니까?

여전히 관련성이 있으므로 이 파일에 sshfs에 대한 나머지 옵션을 로드하고 싶습니다. 사용하는 sshfs -F /dev/null것은 선택 사항이 아닙니다.

ssh와 sshfs에 대해 두 개의 별도 구성 파일을 만들 수는 있지만 그렇게 하려면 많은 중복이 필요하므로 불필요해 보입니다.

답변1

예를 들어 다음을 사용하려고 할 때 tmux다른 호스트 이름이 사용된다고 가정합니다.

SSHF의 경우:

ssh user@remotehost

하지만 tmux의 경우

ssh user@remotehost_tmux

그런 다음 호스트에는 ~/.ssh/config특정 섹션이 있습니다remotehost_tmux

예를 들어.

# Global Options
#UseRoaming no

# Hostname specific options
Host <hostname>_tmux
     RemoteCommand /bin/sh -c 'tmux has-session && exec tmux attach || exec tmux'
Hostname <hostname>
#

관련 정보