ssh se conecta ao servidor errado

1

Eu mudei o endereço IP de um servidor Ubuntu no DNS

antes

 10.x.x.111

depois

10.x.x.222

Eu limpei o cache do dns e, no entanto, quando tento ssh na máquina, o ssh ainda tenta se conectar ao IP antigo.

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

Eu verifiquei que o IP antigo não está presente em /etc/hosts ~/.ssh/known_hosts nem ~/.ssh/config

Por que o ssh está localizando o endereço IP incorreto?

Atualizar

Depois de esperar durante a noite, parece que esta manhã ssh agora se conecta ao endereço IP correto.

Como não há respostas, exporei a questão. Como o ssh difere do host na maneira como eles resolvem os nomes do dns?

Update2

Eu reproduzi isso de novo. host mostra o ip certo, ping e ssh mostram o ip antigo.

Aqui está uma saída de strace de ping link

    
por spuder 19.03.2015 / 00:04

1 resposta

1

A razão é que, no OSX, existem vários caches que precisam ser liberados. Como minha estação de trabalho é um Mac, rodando yosemite, eu corri o seguinte

sudo discoveryutil mdnsflushcache

link

Acontece que eu também precisei limpar o cache do udns

 sudo discoveryutil udnsflushcaches
    
por 19.03.2015 / 20:05

Tags