在我的 ~/.ssh/config 文件中,我有以下选项:
RemoteCommand /bin/sh -c 'tmux has-session && exec tmux attach || exec tmux'
当通过 ssh 连接时,这会自动启动 tmux 并连接到现有会话(如果可能)。
这会导致 sshfs 无法连接并出现错误read: Connection reset by peer
。
有没有办法仅在使用 ssh 连接时而不是在尝试使用 sshfs 挂载文件系统时有选择地应用此选项?
请注意,我仍然想加载该文件中 sshfs 的其余选项,因为它们仍然相关。使用sshfs -F /dev/null
不是一个选择。
我当然可以为 ssh 和 sshfs 创建两个单独的配置文件,但这需要大量重复,这似乎是不必要的。
答案1
假设当您想使用tmux
例如时使用了不同的主机名
对于 sshfs :
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>
#