我的系统中有以下通用主机配置.ssh/ssh_config
:
Host *
ConnectTimeout 5
ServerAliveInterval 5
ServerAliveCountMax 12
我也有一些特定的配置。例如以下别名:
Host work-server-1
Hostname a.b.c.d
Host work-server-2
Hostname i.j.k.l
现在,我的问题是:登录主机时work-server-1
,SSH 是否也会使用条目中定义的ConnectTimeout
、ServerAliveInterval
和设置?ServerAliveCountMax
Host *
答案1
对于每条指令,中第一次相关出现被ssh_config
使用。
对于每个参数,将使用第一个获得的值。配置文件包含由
Host
规范分隔的部分,并且该部分仅适用于与规范中给出的模式之一匹配的主机。...由于使用了每个参数的第一个获得的值,因此应在文件开头附近给出更多特定于主机的声明,并在末尾给出一般默认值。
因此使用下面的配置文件:
- 对于所有主机,
ServerAliveInterval 1
始终使用,4
并且7
从未使用,甚至对于 也不使用work
。 ConnectTimeout
2
对于 来说work
,对于其他主机来说,则是3
。- 对于所有主机,
ServerAliveCountMax
是5
,work
-特定值6
从不使用,即使对于 也不使用work
。
ServerAliveInterval 1
Host work
ConnectTimeout 2
Host *
ConnectTimeout 3
ServerAliveInterval 4
ServerAliveCountMax 5
Host work
ServerAliveCountMax 6
ServerAliveInterval 7