As opções do OpenSSH podem se comportar de alguma forma estranhas à primeira vista. Mas a página de manual para ssh_config
documenta bem:
For each parameter, the first obtained value will be used. The configuration files contain sections separated by “Host” specifications, and that section is only applied for hosts that match one of the patterns given in the specification. The matched host name is usually the one given on the command line (see the CanonicalizeHostname option for exceptions.)
Você pode reescrever sua configuração dessa forma para obter o que precisa (a correspondência da estrela *
deve ser a última):
Host 10.0.0.1
KexAlgorithms diffie-hellman-group-exchange-sha256
#[...]
Host *
KexAlgorithms [email protected]
E para explicar por que a opção de linha de comando funciona, também na mesma página de manual para ssh_config
:
- command-line options
- user's configuration file (~/.ssh/config)
- system-wide configuration file (/etc/ssh/ssh_config)