Estou administrando um ambiente de rede em que os usuários se autenticam pelo NIS. Todas as máquinas podem ser usadas para fazer o SSH no servidor, exceto uma. Na máquina em questão, recebo a mensagem
ssh: connect to host servername port 22: Connection refused
Comparei as strace
saídas 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 SSH faz corretamente. Ambas as máquinas foram /etc/hosts
configuradas com o nome e o IP do servidor. No final, a máquina que não consulta /etc/hosts
acaba tentando se conectar ao 127.0.0.1
(localhost) e falha com a mensagem acima. O que pode estar causando isso?
Informação adicional:
- O servidor no qual estou tentando fazer o SSH também atua como o servidor de nomes e as duas máquinas o consultam enquanto tentam fazer o SSH.
- A máquina que não pode fazer o SSH no servidor pode fazer o SSH corretamente em outras máquinas quando eu fizer isso.
ssh machinename
Osstrace
logs mostram que a máquina consulta o servidor de nomes (desta vez com êxito) e consegue resolver o nome da máquina remota corretamente e se conectar a ele.
EDIT: terei prazer em fornecer qualquer informação adicional que você possa ajudar a resolver esse problema.
Respostas:
Parece-me que o host com problema não tem um configurado corretamente
nsswitch.conf
.A
hosts
linha de/etc/nsswitch.conf
deve ser algo como isto:No entanto, o conteúdo exato variará devido ao seu ambiente. Você deve comparar com os hosts em funcionamento e fazer as alterações necessárias.
fonte