Por que o SSH não consulta o / etc / hosts?

13

Estou administrando um ambiente de rede onde os usuários se autenticam pelo NIS. Todas as máquinas podem ser usadas para o SSH no servidor, exceto uma. Na máquina em questão, recebo a mensagem

ssh: connect to host servername port 22: Connection refused

Eu comparei as saídas strace da máquina em questão e uma máquina que pode fazer o SSH corretamente no servidor.
Acontece que a máquina que não pode SSH no servidor não consulta /etc/hosts enquanto a máquina que pode fazer SSH corretamente. Ambas as máquinas têm /etc/hosts configurado com o nome do servidor e IP. No final, a máquina que não consulta /etc/hosts acaba tentando se conectar a 127.0.0.1 (localhost) e falha com a mensagem acima. O que pode estar causando isso?

Informações adicionais:

  • O servidor em que estou tentando fazer o SSH também atua como o servidor de nomes e as duas máquinas o consultam ao tentar executar o SSH nele.
  • A máquina que não pode conectar o SSH ao servidor pode executar o SSH corretamente em outras máquinas quando eu faço isso% ssh machinename
    Os strace logs mostram que a máquina consulta o servidor de nomes (desta vez com sucesso) e consegue resolver o nome da máquina remota corretamente e se conectar a ela.

EDIT: Terei prazer em fornecer qualquer informação adicional que você acha que possa ajudar a resolver este problema.

    
por Joseph R. 06.11.2012 / 20:06

1 resposta

17

Parece-me que o host do problema não possui um nsswitch.conf configurado corretamente.

A linha hosts de /etc/nsswitch.conf deve ser algo assim:

hosts:  files nisplus nis dns

No entanto, o conteúdo exato irá variar devido ao seu ambiente. Você deve comparar com os hosts em funcionamento e fazer alterações de acordo.

    
por 06.11.2012 / 20:51

Tags