config ssh: impostazioni globali vs `Host *`

Aug 28 2020

Qual è la differenza tra le impostazioni del file di configurazione ssh:

  • Al livello superiore (globale)
  • In un Host *ambito?

Supponendo che ci sia una differenza, in quali casi sarebbe preferibile ciascuno?

Risposte

7 StephenKitt Aug 28 2020 at 21:46

La documentazione di configurazione di SSH tocca questo argomento indirettamente:

Per ogni parametro verrà utilizzato il primo valore ottenuto. I file di configurazione contengono sezioni separate dalle specifiche dell'host e quella sezione viene applicata solo agli host che corrispondono a uno dei modelli forniti nella specifica.

Poiché viene utilizzato il primo valore ottenuto per ogni parametro, è necessario fornire più dichiarazioni specifiche dell'host all'inizio del file e valori predefiniti generali alla fine.

Quindi le impostazioni nel livello "superiore" non possono essere sovrascritte, mentre le impostazioni in Host *verranno sovrascritte da qualsiasi impostazione definita prima di quella sezione (nel livello "superiore" o in una sezione che corrisponde all'host di destinazione).

Questo risponde "in quali casi sarebbe preferibile ciascuno": il livello "superiore" dovrebbe essere utilizzato per le impostazioni che non dovrebbero essere sovrascritte e la Host *sezione, che dovrebbe essere l'ultima, dovrebbe essere utilizzata per le impostazioni predefinite.