ssh somename이 작동하는 반면 nslookup somename은 어떻게 작동하지 않습니까? 수 있는 일부 호스트의 IP 주소를

somename내가 할 수 있는 일부 호스트의 IP 주소를 어떻게 알 수 ssh있습니까? 내가 할 경우 nslookup이 호스트는 “아무 대답은”말한다. 그러면 ssh이름을 어떻게 해결할 수 있습니까?


어느 쪽 /etc/hosts.ssh/config설명했다 없습니다.


편집하다

죄송합니다 somename.

ssh somename.somedomain

작동하는 동안

ping somename.somedomain

nslookup somename.somedomain

하지마



답변

Nslookup은 인터넷 도메인 이름 서버를 쿼리하는 프로그램입니다 입니다. Nslookup은 DNS 서버 쿼리에 매우 유용하지만 이름 확인과 관련하여 전체 그림을 제공하지는 않습니다.

Linux에서 이름 확인은 가장 일반적으로에 의해 구성되는 NSS에 의해 제어 됩니다 /etc/nsswitch.conf. 특히이 구성에는 hosts항목 이 포함 됩니다. 예를 들면 다음과 같습니다.

hosts:          files dns

위의 항목에서 쿼리 할 첫 번째 항목 files다음에 dns, /etc/hostsDNS 앞에 쿼리 됨을 알 수 있습니다. 다른 옵션은 다음과 같은 존재 LDAP를 , 멀티 캐스트 DNS WINS를 .

질문에 직접 응답하면 SSH는 nslookup이 DNS 만 쿼리하는 NSS (여러 소스의 결과를 가져옴)를 사용하여 호스트 이름을 IP 주소로 확인합니다.

getent를 사용하여 호스트 이름을 확인하는 IP NSS를 확인할 수 있습니다. 예를 들어 해결 somename:

getent hosts somename

또한 SSH의 경우 /etc/ssh/ssh_config및 에서 호스트 별 정보를 구성 할 수 있습니다 ~/.ssh/config. 이렇게하면 호스트 이름에 IP 주소를 지정하여 이름 확인을 완전히 건너 뛸 수 있습니다. :

다음은 사용에 SSH를 알려줍니다 192.168.1.25모두 devdev.example.com. SSH는 이러한 이름이 다른 IP의 DNS 이름으로 존재 하는지 여부에 관계 없이이 주소를 사용합니다 .

# contents of $HOME/.ssh/config
Host dev dev.example.com
    HostName 192.168.1.25


답변

somename내가 할 수 있는 일부 호스트의 IP 주소를 어떻게 알 수 ssh있습니까?

명령 의 상세 플래그 ( -v)를 사용하십시오 ssh.

ssh somename -v

출력에는 무엇보다도 연결중인 서버의 확인 된 IP를 나타내는 행이 포함되어야합니다.

debug1: Connecting to aur.archlinux.org [5.9.250.164] port 22.

이 호스트에서 nslookup을 수행하면 “응답 없음”이라고 표시됩니다. 어떻게ssh 이름을 해결할 수 있습니까?

불가능한 ssh호스트 이름을 nslookup확인할 수 있는 가장 가능한 원인은 호스트 이름이ssh 수준 .

매뉴얼 페이지 , 세 곳이 어디에 설정 파일에서 외모 :ssh_config(5)ssh

  1. 명령 줄 옵션
  2. 사용자 구성 파일 (~ / .ssh / config)
  3. 시스템 전체 구성 파일 (/ etc / ssh / ssh_config)

이러한 파일 중 하나에 somename다른 호스트 이름 또는 IP의 별명으로 호스트 이름 (또는 일치하는 패턴) 이 포함될 수 있습니다 . 예를 들면 다음과 같습니다.

# explicit alias of somename to 8.8.8.8 IP
Host somename
    HostName 8.8.8.8

# pattern alias (that obviously matches somename) to another hostname
# that is itself resolved via DNS (and that can be nslookup-ed).
Host *
    HostName anotherhostname

자세한 내용은 ssh_config(5)매뉴얼 페이지 설명 HostHostName지시문 및 PATTERNS섹션을 참조하십시오.


답변

필립이 거의 다 왔지만 .ssh/config 당신이 설정하지 않은 랫홀을 .

명령 …

getent hosts somename

… DNS처럼 hosts:조회 행을 사용하여 NSS를 쿼리합니다 . 유닉스 환경에서 둘 이상의 이름 지정 서비스를 사용하고있을 가능성이 있습니다. 아마도 어떤 유형의 AD 통합./etc/nsswitch.confnslookup


답변