先日、利用しているホスティング会社から連絡があり新仕様のサーバーへ移行が完了したと連絡がありました。
移行は全てホスティング会社が行ってくれたため特にこちらではすることはなく、確認程度でした。
しかし確認していく中で、SSH接続ができずエラー。その時に対処した方法を残しておきます。
サーバー移行後、接続情報に変わりはないのにSSH接続でエラーが発生
サーバー移行にともない、収容サーバーが変更となるためサーバーのIPアドレスが変わります。ただ、SSHの接続にはIPアドレスは利用しておらず、契約時のドメイン情報を利用しているため、サーバー移行によりSSHの接続に利用する情報は変わりません。
にも関わらず、サーバー移行後にSSHで接続したところ、エラーメッセージが表示されました。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:ohkNaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXTo5Xw+SHI.
Please contact your system administrator.
Add correct host key in /path-to-directory/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /path-to-directory/.ssh/known_hosts:106
Host key for hfc.mixh.jp has changed and you have requested strict checking.
Host key verification failed.
エラーメッセージの意味と対処方法
「REMOTE HOST IDENTIFICATION HAS CHANGED!」とある通り、リモートホストの識別情報が前回接続したときと異なっているためエラーとなっています。これはサーバーが変わったので理解できます。
怖いのは、中間者攻撃(Man-in-the-middle attack)の可能性があると書かれていること。今回はサーバー変更により表示されているエラーというのは頭でわかっていますが、こう書かれると少し慎重になりますね……。
一方で、リモートホストのホストキーが変更されただけの可能性もあるとも書いてあります。(It is also possible that a host key has just been changed.)今回はサーバー変更のためこれに該当します。よって、known_hosts ファイルから古いホストキーを削除し、新しいホストキーを追加することで解消できそうです。known_hosts ファイルの指定された行を削除します。エラーメッセージにある通り、106行目を削除します。削除後、SSH接続すると新しいホストキーだが問題ないか、という主旨のメッセージが表示されるので、受け入れることで接続可能です。
known_hosts ファイルから対象の行を削除する
known_hosts ファイルは ~/.ssh/
にあります。$ vi known_hosts
で開いて編集モードに切り替え、エラーメッセージ内にある行ごと削除します。今回は複数行あったため、該当するドメインの行を全て削除しました。
削除したらファイルを保存し、再度SSHアクセスします。以下のように新しいホストキーとして続けて良いか?と聞かれるので、yesを選択して続けます。(値は適当に変更済み)
これで接続できました!
The authenticity of host 'example.com (000.000.00.00)' can't be established.
ED25519 key fingerprint is SHA256:ohkNaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXTo5Xw+SHI.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
まとめ
SSH接続でエラーが表示されると一瞬焦りますが、中身をよく読んで対処すれば特に難しいことではないことが多いです。
ホスティング会社内での新サーバーの移行等の場合は今回のようなことが発生することがあるため、エラーが表示された際はご参考ください。
コメントを残す