リモートOpenWrtルーターにSSHで接続する場合[[DynDNS経由]]
メッセージを受信しました
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
わかりました。古い行を削除し
~/.ssh/known_hosts
て新しい行を追加しますしかし、私のパスワードは承認されません。 (正しいパスワードをコピーして貼り付けたにもかかわらず)
しかし、誰かがリモートルーターを再起動すると、次のようになります。
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
[OK]、もう一度行を削除し、
~/.ssh/known_hosts
新しい行を追加します。 [前の行? ? ]、その後!ログインできます!
なぜ?
dyndnsの更新が失敗し、間違ったIPでログインしようとしましたか?そして、ルーターを再起動すると、dyndns IPが更新され、IPが正しいのでログインしますか?これが「ホスト識別失敗」と表示されるのはなぜですか?
今回が3回目なのに…何が起こったのか分からない。
答え1
あなたの問題はdyndnsによって引き起こされるという点で、あなたの理論は基本的に正しいです。より正確には、動的IPアドレスによって問題が発生しますが、dyndnsを使用すると操作が簡単になりますが、完全にスムーズではありません。
ルータが新しい動的IPアドレスを受信した場合(再起動されたか、プロバイダが何らかの理由で切断されたため)、[手順1、手順4]新しいIPにログインする必要があります。ルータが接続されると、dyndns プロバイダにアドレスの変更を通知するメッセージを送信します。これを実行すると、ssh johnny8888.dyndns.example.com
SSHクライアントはその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がこの機能を提供しているかどうかはわかりません。