OpenWrt ssh identificação de host com dyndns

1

Se eu ssh para meu roteador remoto OpenWrt ["via DynDNS"]

  1. Eu recebo a mensagem

    @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
    
  2. Ok, eu excluo a linha antiga em ~/.ssh/known_hosts , adiciono a nova

  3. Mas minha senha não foi aceita (embora eu copiei + colei a senha correta)

  4. Mas: se alguém reiniciar o roteador remoto, ele diz:

    @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
    
  5. Ok, novamente, eu apago a linha em ~/.ssh/known_hosts , adiciono a nova [a antiga ??], e pronto! Eu consigo logar!

Por quê?

Isso ocorre porque uma atualização do dyndns falhou e estou tentando efetuar login no IP incorreto? E se o roteador for reinicializado, o IP do dyndns será atualizado, para que o IP esteja correto e eu possa fazer o login? É por isso que diz "falha na identificação do host"?

Aconteceu pela 3ª vez ... Eu não sei exatamente o que está acontecendo.

    
por LanceBaynes 22.03.2011 / 14:07

2 respostas

1

Sua teoria é basicamente correta, pois o seu problema é causado por dyndns. Mais precisamente, o seu problema é causado por ter um endereço IP dinâmico; O dyndns torna as coisas mais fáceis, mas não completamente perfeitas.

Quando o seu roteador recebe um novo endereço IP dinâmico (porque foi reinicializado ou porque seu provedor o desconectou por algum motivo¹) [etapa 1, etapa 4], é necessário efetuar login no novo IP. Quando o seu roteador se conecta, ele envia uma mensagem ao seu provedor dyndns notificando-o da alteração do endereço. Quando você executa ssh johnny8888.dyndns.example.com , o cliente ssh procura o endereço IP correspondente a johnny8888.dyndns.example.com .

As informações do DNS levam algum tempo para serem propagadas, porque são armazenadas em cache. Para uso típico de dyndns, o atraso é de alguns minutos. Portanto, se você tentar se conectar logo após a alteração de um endereço IP, ainda poderá alcançar o endereço IP antigo [etapa 3], que agora é atribuído a uma máquina diferente. Se esta máquina executar um servidor ssh, você obtém o aviso de alteração da identificação do host remoto.

Adicione CheckHostIP No ao seu ~/.ssh/config , na seção do seu roteador. Então o ssh não irá verificar a chave associada ao seu endereço IP (que é inútil já que você tem um endereço dinâmico), somente a chave associada ao seu nome de host (que não irá mudar).

Observe que na maioria das vezes, você não obterá o aviso de alteração de identificação do host remoto. Você só obtém se tentar entrar na máquina de outra pessoa, ou tentou no passado. (Suas tentativas seriam acidentais, quando você tiver tido azar de tentar se conectar depois de uma alteração no endereço IP e antes da atualização do DNS ter se propagado.)

Muitos ISPs desconectam cada cliente todos os dias ou a cada poucos dias, porque isso facilita o balanceamento de carga. Você pode se reconectar instantaneamente, mas pode obter um endereço IP diferente.

    
por 22.03.2011 / 23:18
0

Sim, acredito que você respondeu à sua própria pergunta. Veja a resposta de Gilles acima.

Mas o mais importante, eu recomendo que suas atualizações do dyndns sejam executadas com mais frequência. Se possível, seria ideal que uma atualização do dyndns fosse executada assim que seu IP fosse alterado, mas não tenho certeza se o openwrt fornece essa funcionalidade.

    
por 22.03.2011 / 23:21