Não é possível ssh na mesma máquina, a menos que seja adicionado manualmente '.local' ao nome do host

0

Estou usando uma ferramenta de cluster (hadoop) em execução localmente que deve ser capaz de executar o ssh sem senha da seguinte maneira:

 ssh $(hostname)

No meu laptop mac isso não funciona. Aqui estão as entradas pertinentes no /etc/hosts

127.0.0.1   localhost 
xx.xx.242.47    TCA0080ALKVTAGB

É possível ping o nome do host:

ping $(hostname)
PING TCA0080ALKVTAGB.local (xx.xx.242.47): 56 data bytes
64 bytes from xx.xx.242.47: icmp_seq=0 ttl=64 time=0.044 ms
64 bytes from xx.xx.242.47: icmp_seq=1 ttl=64 time=0.115 ms

No entanto, tentar ssh no nome do host não funciona:

 $ssh $(hostname)
ssh: Could not resolve hostname tca0080alkvtagb: nodename nor servname provided, or not known

Adicionando o .local even .ssh works

 ssh $(hostname).local   # this works

Observação: eu já adicionei .local aos domínios de pesquisa global (via System Preferences | Network | Advanced | DNS ):

    
por javadba 09.02.2017 / 22:41

2 respostas

0

O problema é que o firewall corporativo está mexendo com o DNS (sim - mesmo para a resolução da máquina local ..). Eu não sei os detalhes, mas quando o firewall está desativado, o DNS está funcionando.

    
por 10.02.2017 / 01:13
1

Você precisa ter um FQDN (nome de domínio totalmente qualificado) em $(hostname)

Então, você precisa tornar seu / etc / hosts como:

127.0.0.1 localhost

xx.xx.242.47 TCA0080ALKVTAGB TCA0080ALKVTAGB.local

    
por 10.02.2017 / 01:07

Tags