呼び出しアプリケーション(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用に2つの別々の設定ファイルを作成できますが、それを行うには重複が必要なため、不要に見えます。

答え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>
#

関連情報