我有一个远程服务器,身份验证需要很长时间。因此,我想保持连接打开ControlMaster
。但是,ControlMaster
不适用于Windows。我想在.ssh/config
Windows 和 Linux 上使用相同的,我经常复制它们。
因此,我只想在 Linux 上激活它。我可以使用 sshsMatch
配置来做到这一点:
Host jumphost-opn1
HostName 10.129.120.68
User kuga2
Match exec "test `uname -o` = GNU/Linux"
ControlMaster auto
ControlPath ~/.ssh/.sockets_%r@%h-%p
ControlPersist 600
这在 Linux(ControlMaster 处于活动状态)和 Windows(ControlMaster 处于非活动状态)上都按预期工作。但是在 Windows 上会打印:
C:\WINDOWS\system32>ssh jumphost-opn2 uname
Der Befehl "test" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Der Befehl "test" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Linux
(命令“test”错误或未找到)
我能做些什么来忽略这些消息?是否有独立于操作系统的方法来检查操作系统?还有其他 ssh-config 选项吗?