ssh config: configurações globais vs `Host *`

Aug 28 2020

Qual é a diferença entre as configurações do arquivo de configuração ssh:

  • No nível superior (global)
  • Em um Host *escopo?

Supondo que haja uma diferença, em quais casos cada um seria preferido?

Respostas

7 StephenKitt Aug 28 2020 at 21:46

A documentação de configuração SSH aborda isso indiretamente:

Para cada parâmetro, será utilizado o primeiro valor obtido. Os arquivos de configuração contêm seções separadas por especificações de Host , e essa seção é aplicada apenas para hosts que correspondem a um dos padrões fornecidos na especificação.

Como o primeiro valor obtido para cada parâmetro é usado, mais declarações específicas do host devem ser fornecidas perto do início do arquivo e os padrões gerais no final.

Portanto, as configurações no nível "superior" não podem ser substituídas, enquanto as configurações no Host *serão substituídas por qualquer configuração definida antes dessa seção (no nível "superior" ou em uma seção correspondente ao host de destino).

Isso responde “em que casos cada um seria preferido”: o nível “superior” deve ser usado para configurações que não devem ser substituídas, e a Host *seção, que deve vir por último, deve ser usada para configurações padrão.