SSH가 왜 / etc / hosts에 문의하지 않습니까?


13

사용자가 NIS를 통해 인증하는 네트워크 환경을 관리하고 있습니다. 모든 머신을 사용하여 하나의 서버로 SSH 연결할 수 있습니다. 해당 컴퓨터에서 메시지가 나타납니다.

ssh: connect to host servername port 22: Connection refused

strace문제의 시스템과 서버에 올바르게 SSH를 연결할 수있는 시스템의 출력을 비교했습니다 .
서버에 SSH 할 수없는 /etc/hosts시스템은 올바르게 SSH 할 수있는 시스템과 상담하지 않는 것으로 나타났습니다. 두 머신 모두 /etc/hosts서버 이름과 IP로 설정되었습니다. 결국, 상담하지 않는 컴퓨터는 (localhost) /etc/hosts에 연결하려고 시도 127.0.0.1하고 위의 메시지와 함께 실패합니다. 이 문제의 원인은 무엇입니까?

추가 정보:

  • SSH를 시도하는 서버는 이름 서버 역할을하며 SSH를 시도하는 동안 두 시스템이 모두 서버를 참조합니다.
  • 서버에 SSH로 연결할 수없는 머신은 내가 할 때 다른 머신에 올바르게 SSH 할 수 있습니다
    ssh machinename
    . strace로그는 머신이 네임 서버를 참조하고 (이번에는 성공적으로) 원격 머신 이름을 올바르게 확인하고 연결하도록 관리합니다.

편집 :이 문제를 해결하는 데 도움이 될만한 추가 정보를 기꺼이 제공해 드리겠습니다.


1
ssh 명령에 -vvv를 추가하면 무엇을 얻습니까?
혼돈의 데몬

답변:


18

문제가있는 호스트가 올바르게 구성되지 않은 것 같습니다 nsswitch.conf.

hosts의 라인 /etc/nsswitch.conf의 모양은 다음과 같습니다

hosts:  files nisplus nis dns

그러나 정확한 내용은 환경에 따라 다릅니다. 작업 호스트와 비교하고 그에 따라 변경해야합니다.


1
바로 돈에! 나는 작업 호스트와 비교하고 필요한 변경을 수행했으며 그렇게했습니다. 고마워요! 담당자가 있으면 투표 해 드리겠습니다 :)
Joseph R.

@JosephR. 당신은 지금 담당자가 있습니다! :-)
RockPaperLizard 10
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.