すでにssh
経由でサーバーに正しく接続できました。しかし、最近、サーバーの固定IPアドレスとドメイン名を変更した後、DNS名でサーバーに接続できません。それにもかかわらず、IPアドレスを使用してサーバーにssh
することができます。ドメイン名を使用したssh
のエラーは次のとおりです。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The DSA Host key for example.com has changed,
and the key for the corresponding IP address X.X.X.X
has a different value. This could either mean that
DNS SPOOFING is happening or the IP address for the Host
and its Host key have changed at the same time.
Offending key for IP in /home/.ssh/known_hosts:10
remove with: ssh-keygen -f "/home/.ssh/known_hosts" -R X.X.X.X
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE Host IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a Host key has just been changed.
The fingerprint for the DSA key sent by the remote Host is
*:*:*:*:*:....
Please contact your system administrator.
Add correct Host key in /home/.ssh/known_hosts to get rid of this message.
Offending DSA key in /home/.ssh/known_hosts:11
remove with: ssh-keygen -f "/home/.ssh/known_hosts" -R example.com
DSA Host key for example.com has changed and you have requested strict checking.
Host key verification failed.
答えは質問にあります:
ssh-keygen -f "/home/.ssh/known_hosts" -R example.com
あなたは大きなメッセージのために 最初のグーグルヒット に関するより多くの情報を得るでしょう。 WARNING: REMOTE Host IDENTIFICATION HAS CHANGED!
~/.ssh/known_hosts
ファイルを移動して、動作するように再試行しました。効果は、known_hosts
にあるホストについて、将来の接続のプロンプトを確認するだけだと思います。
システムが/home/.ssh/known_hosts:10のIPの問題のあるキーについて通知したため、known_hostsから10行目を削除する必要があります。
/ etc/sshディレクトリのバックアップがあり、それを復元したい場合は、使用する
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@hostname
チェックせずに一度接続してください。
ソース: sshのマニュアルページ
同じ問題が発生しました。
問題は、「既知のホスト」に記録されているアイテムがリモートホストの何かと一致しないことだと思います(申し訳ありませんが、何かがわかりません)。
私の場合、リモートホストのIPアドレスに従って「known-hosts」の項目を削除し、sshコマンドを再度実行しました。それからそれは働いた。
私の場合、ファイルが見つからなかったため、ファイルパスとドメイン名を次のように反転する必要がありました。
ssh-keygen -R example.com -f ~/.ssh/known_hosts
提案されていることに従ってください。
Sudo ssh-keygen -f "/root/.ssh/known_hosts" -R ip
Sudo ssh-keygen -f "/root/.ssh/known_hosts" -R Host
これらのコマンドは古い指紋を削除し、次に尋ねられます:
ホスト「ホスト(ip)」の信頼性を確立できません。 ECDSAキーのフィンガープリントはSHA256:YrD + 1E4JmdeObwEyQW3zGqNhXE // 64MMZrHHaInE7w0です。接続を続行してもよろしいですか(はい/いいえ)?
「はい」と書くと、次のようなメッセージが表示されます。
警告:既知のホストのリストに「Host、ip」(ECDSA)を恒久的に追加しました。
これにより、/root/.ssh/known_hosts
ファイルに新しいフィンガープリントが作成されます。