호스트 이름에`.local`을 수동으로 추가하지 않으면 동일한 머신으로 ssh 할 수 없습니다.


0

암호가없는 ssh를 다음과 같이 수행 할 수 있어야하는 로컬로 실행되는 클러스터링 도구 (hadoop)를 사용하고 있습니다.

 ssh $(hostname)

내 Mac 랩톱에서는 작동하지 않습니다. 여기에 관련 항목이 있습니다/etc/hosts

127.0.0.1   localhost 
xx.xx.242.47    TCA0080ALKVTAGB

ping호스트 이름 이 가능합니다 :

ping $(hostname)
PING TCA0080ALKVTAGB.local (xx.xx.242.47): 56 data bytes
64 bytes from xx.xx.242.47: icmp_seq=0 ttl=64 time=0.044 ms
64 bytes from xx.xx.242.47: icmp_seq=1 ttl=64 time=0.115 ms

그러나 ssh호스트 이름으로 시도하면 작동하지 않습니다.

 $ssh $(hostname)
ssh: Could not resolve hostname tca0080alkvtagb: nodename nor servname provided, or not known

.local짝수 .ssh작품 을 추가함으로써

 ssh $(hostname).local   # this works

참고 : 이미 .local전역 검색 도메인에 추가 했습니다 (을 통해 System Preferences | Network | Advanced | DNS).

여기에 이미지 설명을 입력하십시오

답변:


1

귀하의 FQDN (정규화 된 도메인 이름)이 있어야합니다. $(hostname)

따라서 다음과 같이 / etc / hosts를 만들어야합니다.

127.0.0.1 로컬 호스트

xx.xx.242.47 TCA0080ALKVTAGB TCA0080ALKVTAGB.local


좋은 생각-나는 이미 그것을 시도했다. 이상한 방화벽 문제로 밝혀졌습니다. 어쨌든 난 당신에게 공감대를 줄 것이다.
javadba

0

문제는 회사 방화벽이 DNS를 망친다는 것입니다 (예 : 로컬 컴퓨터의 해상도에서도). 세부 정보를 모르지만 방화벽이 비활성화되면 DNS가 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.