curinga de configuração do SSH no Hostname expandido

18

Eu quero ter um curinga na minha configuração de SSH para definir meu nome de usuário padrão como um valor específico para todos os hosts em um determinado domínio. Mas também quero ter alguns nomes curtos para alguns hosts específicos. Eu esperava que algo assim funcionasse:

Host *.mydomain.com
    User myusername
Host host1
    Hostname host1.mydomain.com

Com essas configurações, se eu digitar ssh host1.mydomain.com , ele será avaliado como [email protected] , mas se eu digitar ssh host1 , isso não será aplicado à minha configuração de usuário e, em vez disso, eu verei [email protected] .

Existe uma maneira de combinar os caracteres curinga no nome de host expandido final para que eu possa digitar o formulário curto ou longo e obter os mesmos resultados?

    
por Mu Mind 03.09.2012 / 00:30

3 respostas

10

Use simplesmente:

Host *.mydomain.com host1
User myusername

Host host1
Hostname host1.mydomain.com
  • Padrões alternativos são fornecidos por um espaço delimitado em uma linha Host .
  • Todos os padrões de host correspondentes são aplicados.
  • Se uma opção ocorrer várias vezes, somente a primeira ocorrência será usada
por 03.09.2012 / 12:15
11

Você pode simplesmente definir CanonicalizeHostname para yes para recuperar o ssh_config com o nome do host canônico do seu alias. Por exemplo:

CanonicalizeHostname yes
Host *.mydomain.com
    User myusername

Host host1
    HostName host1.mydomain.com

Como alternativa, se quiser também remapear nomes de host, você pode usar Match em vez de Host para corresponder apenas aos nomes de host canônicos. Por exemplo, em:

Match canonical host="*.mydomain.com"
    User myusername

Host host2.mydomain.com
    HostName host2.otherdomain.com

A diretiva do usuário não será definida quando você se conectar a host2.mydomain.com .

    
por 11.01.2016 / 23:04
1

O uso de CanonicalDomains também funcionará.

CanonicalizeHostname yes
CanonicalDomains mydomain.com

Host *
User myusername

Se você quiser um nome abreviado para um host específico, por exemplo:

Host h
Hostname host1

Eu não recomendaria um nome tão curto, no entanto.

    
por 29.06.2017 / 20:47

Tags