For each directive, the **first relevant occurrence in the `ssh_config` is used**. Quoting [man page for `ssh_config`](https://man.openbsd.org/ssh_config): > Since the first obtained value for each parameter is used, more host-specific declarations should be given near the beginning of the file, and general defaults at the end. --- So with the configuration file below: - For all hosts, `ServerAliveInterval 1` is always used, `4` and `7` are never used, not even for `work`. - `ConnectTimeout` is `2` for `work`, for other hosts it's `3`, `8` is never used. - For all hosts, the `ServerAliveCountMax` is `5`, the `work`-specific value `6` is never used, not even for `work`. ``` ServerAliveInterval 1 Host work ConnectTimeout 2 Host * ConnectTimeout 3 ServerAliveInterval 4 ServerAliveCountMax 5 Host work ServerAliveCountMax 6 ServerAliveInterval 7 ConnectTimeout 8 ```