MENU

SSH接続でエラーが出た(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)

長らく接続していなかったサーバーにSSH接続すると以下のような警告エラーが出ました。この対応方法です。

$ ssh -l サーバーID -i サーバーID_rsa サーバーID.xsrv.jp -p 10022
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 ED25519 key sent by the remote host is
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
Please contact your system administrator.
Add correct host key in /Users/testuser/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /Users/testuser/.ssh/known_hosts:6
Host key for [myservername.xsrv.jp]:10022 has changed and you have requested strict checking.
Host key verification failed.

公開鍵(ホスト鍵)が前回と違うよと警告されているようす。

SSHは、接続するサーバーの公開鍵をローカルの ~/.ssh/known_hosts に保存して、次回接続時に照合しますが、今回はそれば以前と異なっているよ警告されています。

目次

考えられる原因

接続しようとしているサーバーはレンタルサーバーなのでOS再インストール等で勝手にキーが変わることはありません。そこで考えられるのは

  • SSH設定を変更した

この場合、公開鍵が新しく生成されるので違うものとして検出されます。長らく接続してなかったから記憶が曖昧だけど・・・この可能性が高い。

まずは、known_hostsの該当箇所を手動で削除

エラー文をよく見ると、knowb_hosts ファイルの6行目だと教えてくれているので、手動でその6行目を削除してみます。

・・・
Offending ED25519 key in /Users/testuser/.ssh/known_hosts:6
・・・

エディタ(またはvi)で消してみましたが、解決できず。

古いキーを削除して改めてSSH設定をする

攻撃を受けているわけではなかったので、古いキーを削除して、改めてSSH設定しました。解決と言って良いかどうかはアレですが・・・

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次