Le sostituzioni specifiche dell'host OpenSSH ~ / .ssh / config non funzionano


16

Ho provato a configurare il mio ~/.ssh/configfile con l'aiuto di questa guida. Tuttavia, l'override dell'utente specifico dell'host non ha alcun effetto e ssh tenta di connettersi utilizzando il nome utente globale anziché quello specifico dell'host. La mia configurazione SSH è impostata in questo modo:

$ cat ~/.ssh/config
User my_global_username

Host dev1
    HostName 10.40.10.41
    User my_username_on_dev_machines

Ho anche provato a mettere il nome utente globale sotto una Host *voce inutilmente. La versione OpenSSH e la build che sto eseguendo è OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013 `.

Risposte:


29

Non esiste alcun valore "globale" in .ssh/config. Se si desidera avere un valore predefinito, è necessario inserirlo in una Host *sezione:

Host dev1
    HostName 10.40.10.41
    User my_username_on_dev_machines

Host *
    User my_global_username

Nota l'ordinamento: la prima partita vince!


2
Un paio di domande di follow-up: 1) Il comportamento è cambiato di recente? La guida sul sito Web collegato mostra chiaramente Host *in alto.
Andyn,

2) La prima partita vince, ma apparentemente solo per quei valori che imposta esplicitamente. Questo è documentato da qualche parte? Man ssh_config non mostra nulla di correlato nelle sezioni Host o PATTERNS.
Andyn,

6
La prima frase del secondo paragrafo in ssh_config (5) dice: "Per ogni parametro, verrà usato il primo valore ottenuto." Non so se è cambiato di recente, ma avevo sempre "Host *" in fondo.
cran
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.