Configuração padrão do SSH para múltiplos hosts no mesmo domínio + aliases

3

Esta discussão: Em sua configuração ssh é possível ter uma entrada de host para várias máquinas no mesmo domínio explicou a parte 'aliases' da minha pergunta, eu queria saber se é possível definir o nome de usuário padrão AS bem como usar aliases de domínio, então eu simplesmente tenho que escrever algo como:

ssh subdomain

Eu tenho o seguinte no meu arquivo /etc/resolv.conf:

search my_cool_domain.com

e o seguinte no meu arquivo ssh_config:

Host *.my_cool_domain.com
    User deploy

Então, imaginei que o seguinte funcionará:

ssh subdomain

tentará se conectar ao subdomain.my_cool_domain.com com o usuário deploy , mas isso não funciona por algum motivo.

Embora o seguinte:

ssh deploy@subdomain funciona, assim como: ssh subdomain.my_cool_domain.com

Alguma ideia de como posso consertar isso (se for possível) de uma maneira elegante?

    
por Mikey S. 17.01.2013 / 08:57

2 respostas

5

Os padrões após a palavra-chave "Host" não são resolvidos de qualquer forma para nomes de host reais, portanto, você não pode detectar um subdomínio que sua pesquisa de DNS está configurada para ele, na verdade, um subdomínio de seu domínio principal.

Na página man do ssh_config -

         ... The host is the hostname argument given on the command line (i.e. the
         name is not converted to a canonicalized host name before match-
         ing).

Sua alternativa é:

  1. Use "Host *" e defina o nome de usuário padrão para todos os hosts.
  2. Quando / se você tiver alguns tipos de prefixos em seus subdomínios, use "Host pfx1 * pfx2 *".
  3. Configure seu preenchimento de shell e sempre use nomes de host completos, "Host * .mydomain" e "subdomínio ssh" que o completam para "subdomínio ssh.mydomain".
  4. Aliases e funções de shell também podem ser usados para adicionar a parte ".mydomain" automaticamente. Por exemplo, "subdomínio ssh-alias" que é um alias para "subdomínio ssh.mydomain".
por 17.01.2013 / 10:55
2

apenas use uma solução combinada com a configuração correta ssh_config + resolv.conf:

1. setup /etc/resolv.conf

search my_cool_domain.com

2. configure seu ssh_config para mapear entre hosts e usuários

Host subdomain1
    User deploy1

Host subdomain2
    User deploy2

dessa forma, ssh subdomain1 usará o usuário necessário deploy1 e o host será qualificado para seu nome completo por resolv.conf

    
por 17.01.2013 / 11:18

Tags