ssh somename은 작동하지만 nslookup somename은 작동하지 않는 이유는 무엇입니까?

ssh somename은 작동하지만 nslookup somename은 작동하지 않는 이유는 무엇입니까?

somename액세스 할 수 있는 호스트의 IP 주소를 어떻게 알 수 있나요 ssh? nslookup이 호스트에서 이 작업을 수행 하면 "응답 없음"이라고 표시됩니다. 그렇다면 ssh이름을 구문 분석하는 방법은 무엇입니까?


/etc/hosts설명이 작동하지 않습니다 .ssh/config.


편집하다

죄송합니다 somename. 완전히 자격이 있습니다.

ssh somename.somedomain

유효한 동시에

ping somename.somedomain

그리고

nslookup somename.somedomain

아니요

답변1

Nslookup은 인터넷 도메인 이름 서버를 쿼리하는 프로그램입니다.. Nslookup은 DNS 서버를 쿼리하는 데 유용하지만 이름 확인과 관련하여 포괄적인 정보를 제공하지는 않습니다.

Linux에서 이름 확인은 일반적으로 다음 명령으로 제어됩니다.국가안보국이 구성됩니다 /etc/nsswitch.conf. 특히 구성에는 하나의 hosts항목이 포함됩니다. 예를 들어:

hosts:          files dns

위 항목에서 가장 먼저 쿼리할 내용이 뒤에 오는 것을 볼 수 있는데 files, 이는 DNS보다 먼저 쿼리된다는 dns의미입니다 . /etc/hosts다음을 포함한 다른 옵션이 존재합니다.LDAP,멀티캐스트 DNS그리고승리.

질문에 직접 대답하기 위해 SSH는 NSS(여러 소스에서 결과 가져오기)를 사용하여 호스트 이름을 IP 주소로 확인합니다. 여기서 nslookup은 DNS만 쿼리합니다.

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

getent hosts somename

반품 SSH의 경우 /etc/ssh/ssh_config및 에서 호스트별 정보를 구성 할 수 있습니다 ~/.ssh/config. 이를 통해 이름 확인을 완전히 건너뛰고 호스트 이름에 대한 IP 주소를 지정할 수도 있습니다.

다음은 SSH 192.168.1.25dev. dev.example.comSSH는 이 주소를 사용합니다~이든이러한 이름은 다양한 IP에 대한 DNS 이름으로 존재합니다.

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

답변2

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)매뉴얼 페이지의 설명 Host, HostName지시어 및 참조 섹션을 참조하십시오 .PATTERNS

답변3

.ssh/config필립이 거의 다 왔지만, 그는 당신이 구성할 수 없을 것 같은 쥐구멍 으로 들어갑니다 .

주문하다...

getent hosts somename

hosts:/etc/nsswitch.conf... DNS와 달리 NSS의 조회 라인을 사용하여 NSS를 쿼리합니다 nslookup. Unix 환경은 여러 이름 지정 서비스를 사용하고 있을 수 있습니다. 아마도 일부 유형의 AD 통합이 있을 수 있습니다.

관련 정보