SSH가 잘못된 서버에 연결

SSH가 잘못된 서버에 연결

DNS에서 우분투 서버의 IP 주소를 변경했습니다.

앞으로

 10.x.x.111

뒤쪽에

10.x.x.222

DNS 캐시를 플러시했지만 시스템에 ssh를 연결하려고 하면 ssh가 여전히 이전 IP에 연결을 시도합니다.

host foo.example.com
10.10.10.222    <= 222 is the correct *new* ip address



ssh -vv -F /dev/null -o UserKnownHostsFile=/dev/null  foo.example.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /dev/null
debug2: ssh_connect: needpriv 0
debug1: Connecting to foo.example.com [10.x.x.111] port 22.   <= 111 is the incorrect *old* address

이전 IP가 존재하지 않거나 존재하지 않는 것을 확인했습니다 /etc/hosts ~/.ssh/known_hosts.~/.ssh/config

SSH가 잘못된 IP 주소를 찾는 이유는 무엇입니까?

고쳐 쓰다

밤새 기다린 후, 오늘 아침에 SSH가 올바른 IP 주소에 연결된 것 같습니다.

답변이 없으므로 질문을 설명하겠습니다. DNS 이름을 확인하는 방식의 차이점은 무엇입니까 ssh?host

업데이트 2

이것을 다시 재현해봤습니다. host올바른 IP를 표시 ping하고 ssh이전 IP를 표시합니다.

이것은 ping의 strace 출력입니다. http://pastebin.com/ifnrqDP6

답변1

그 이유는 OSX에는 플러시해야 하는 캐시가 여러 개 있기 때문입니다. 내 워크스테이션은 요세미티를 실행하는 Mac이므로 다음 명령을 실행했습니다.

sudo discoveryutil mdnsflushcache

https://support.apple.com/en-us/HT202516

udns 캐시도 새로 고쳐야 하는 것으로 나타났습니다.

 sudo discoveryutil udnsflushcaches

관련 정보