OpenWrt SSHホストの識別とdyndns

OpenWrt SSHホストの識別とdyndns

リモートOpenWrtルーターにSSHで接続する場合[[DynDNS経由]]

  1. メッセージを受信しました

    @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
    
  2. わかりました。古い行を削除し~/.ssh/known_hostsて新しい行を追加します

  3. しかし、私のパスワードは承認されません。 (正しいパスワードをコピーして貼り付けたにもかかわらず)

  4. しかし、誰かがリモートルーターを再起動すると、次のようになります。

    @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
    
  5. [OK]、もう一度行を削除し、~/.ssh/known_hosts新しい行を追加します。 [前の行? ? ]、その後!ログインできます!

なぜ?

dyndnsの更新が失敗し、間違ったIPでログインしようとしましたか?そして、ルーターを再起動すると、dyndns IPが更新され、IPが正しいのでログインしますか?これが「ホスト識別失敗」と表示されるのはなぜですか?

今回が3回目なのに…何が起こったのか分からない。

答え1

あなたの問題はdyndnsによって引き起こされるという点で、あなたの理論は基本的に正しいです。より正確には、動的IPアドレスによって問題が発生しますが、dyndnsを使用すると操作が簡単になりますが、完全にスムーズではありません。

ルータが新しい動的IPアドレスを受信した場合(再起動されたか、プロバイダが何らかの理由で切断されたため)、[手順1、手順4]新しいIPにログインする必要があります。ルータが接続されると、dyndns プロバイダにアドレスの変更を通知するメッセージを送信します。これを実行すると、ssh johnny8888.dyndns.example.comSSHクライアントはそのIPアドレスを見つけますjohnny8888.dyndns.example.com

DNS情報は、キャッシュが大量に格納され、伝播するのに時間がかかります。通常のdyndnsを使用する場合、遅延時間は数分です。したがって、IPアドレスが変更された直後に接続しようとすると、現在他のコンピュータに属している以前のIPアドレス[手順3]に接続できます。コンピュータがSSHサーバーを実行している場合は、リモートホストIDの変更警告が表示されます。

ルーターセクションの下にこれCheckHostIP No~/.ssh/config。その後、sshはIPアドレスに関連付けられているキー(動的アドレスがあるため役に立たない)を確認せず、ホスト名に関連付けられているキー(変更されていない)のみを確認します。

ほとんどの場合いいえリモートホストIDの変更警告を受け取ります。他の人のコンピュータにログインしようとした場合、または過去にログインしようとした場合にのみ取得できます。 (IPアドレスが変更された後にDNSアップデートが伝播される前に接続を試みると、誤って試すことができます。)

1多くの ISPはロードバランシングを容易にするため、毎日または数日ごとにすべてのクライアントの接続を切断します。すぐに再接続できますが、別のIPアドレスを取得することもできます。

答え2

はい、あなたはあなたの質問に答えたと思います。上記のGillesの回答を参照してください。

しかし、最も重要なことは、dyndnsアップデートをより頻繁に実行することをお勧めします。可能であれば、IPが変更されるとすぐにdyndns updateを実行するのが最善ですが、openwrtがこの機能を提供しているかどうかはわかりません。

関連情報