Por que o ssh falharia ao expandir a variável% h em .ssh / config?

5

Por que o ssh falharia em expandir% h de .ssh / config? Isso costumava funcionar e ainda funciona, exceto em uma caixa RHEL. Olhando para o que a origem disso poderia ser. Existe uma configuração em algum lugar que diga ao ssh para não expandir% h?

Eu tenho algo parecido com isso no meu .ssh / config:

Host *.foo
  HostName %h.mydomain.com

Na caixa RHEL, onde isso não funciona, eu entendo:

$ ssh -vvvv bar.foo
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /home/zsimic/.ssh/config
debug1: Applying options for *.foo
debug1: Applying options for *.foo
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
ssh: Could not resolve hostname %h.mydomain.com: Name or service not known
    
por Zoran 26.09.2012 / 03:03

2 respostas

13

Você está usando o OpenSSH 5.3; %h foi introduzido apenas no OpenSSH 5.6 :

Changes since OpenSSH 5.5
=========================

 * Expand %h to the hostname in ssh_config Hostname options. While this
   sounds useless, it is actually handy for working with unqualified
   hostnames:

     Host *.*
        Hostname %h
     Host *
        Hostname %h.example.org
    
por 26.09.2012 / 15:46
2

man ssh_config não menciona que %h será expandido na cláusula HostName . Estou usando openssh5.9p1

editar: ele fez e eu perdi

Se a configuração de algum servidor proxy (um local único serve) não vai incomodá-lo, talvez alguma solução alternativa com ProxyCommand seja possível.

Ou, você pode enumerar alguns nomes de host em .ssh/config .

    
por 26.09.2012 / 04:40