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/hosts
DNS 앞에 쿼리 됨을 알 수 있습니다. 다른 옵션은 다음과 같은 존재 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
모두 dev
와 dev.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
- 명령 줄 옵션
- 사용자 구성 파일 (~ / .ssh / config)
- 시스템 전체 구성 파일 (/ 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
섹션을 참조하십시오.
답변
필립이 거의 다 왔지만 .ssh/config
당신이 설정하지 않은 랫홀을 .
명령 …
getent hosts somename
… DNS처럼 hosts:
조회 행을 사용하여 NSS를 쿼리합니다 . 유닉스 환경에서 둘 이상의 이름 지정 서비스를 사용하고있을 가능성이 있습니다. 아마도 어떤 유형의 AD 통합./etc/nsswitch.conf
nslookup