【Linux】サーバーのOS再インストール時にSSH接続できなくなる

投稿日: 2024/01/02
更新日: 2024/01/02
シェア:

URL copied!


概要

サーバーのOS再インストールなどを行いホストキーが再生成された場合。

% ssh -i ./xxxx_key yyy@xxx.ccc.xxx.ccc

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 ECDSA key sent by the remote host is
SHA256:XXXXXXXXXXXXXXX.
Please contact your system administrator.

のようなエラーが出ることがある。

ひとりごと

私の場合、検証用にレンタルサーバーを借りていて、新しいことをする時にOS再インストールをするのですが、同じIPアドレスのまま使えるのでよく起きます。
AWS とかで固定IP用意せずサーバー消して新しく作るとかであればこれはいらないですね。

解消方法

ssh-keygen -R < hostname >

# 例:
ssh-keygen -R xxx.ccc.xxx.ccc

-R オプションは、指定されたホスト名のエントリを known_hosts ファイルから削除できます。

エラーの意味

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 ECDSA key sent by the remote host is SHA256:XXXXXXXXXXXXXXX.
# リモートホストから送信されたECDSAキーの指紋はSHA256:XXXXXXXXXXXXXXXです。
Please contact your system administrator.
# システム管理者に連絡してください。

ホストキーが変更されたばかりが今回は正しいですが、
中間者攻撃を受けているかも!と言われるとひやっとしますよね。

中間者攻撃とは

┌────────┐ -> ┌──────────┐ -> ┌────────┐ 
│ client │    │ attacker │    │ server │     
└────────┘ <- └──────────┘ <- └────────┘

Man-in-the-Middle Attack、MITM攻撃、バケツリレー攻撃とも言われる。
攻撃者がクライアントとサーバーの間に入り、両者の通信を傍受。
実際はホストキーの情報が変わるわけではないですが、間に攻撃者に入られることで、ホストキーが違うとなる。