SSH接続時、「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」と怒られてしまう

投稿者: | 2015/05/08

OpenSSHのsshコマンドやscpコマンドで
相手先のホストにアクセスしようとしたとき、
次のようなメッセージが出ることがあります。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@   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.

これは、ホスト側のコンピュータが入れ替わったのを検出して警告を出しているものです。
たとえば、誰かがなりすましで同じ名前で別の PC を設置し、
パスワードを盗むつもりかもしれません。
また、途中に盗聴用のサーバを置いて通信内容を盗み見るためかもしれません。

自分で単にサーバが壊れて予備のサーバに置き換えたとか分かるときはよいですが、
不明なときはホスト側の管理者に確認しましょう。
その場合、なるべく接続しないことです。

接続できるようにするには

問題ないと分かった上でこの警告を出ないようにするには、
~/.ssh/ ディレクトリにあるknown_hostsファイルを開いて該当する項目を削除します。
→ ssh-keygenコマンドを使用します。

  • known_hostの格納行を表示
foo@hoge:~/.ssh$ ssh-keygen -F localhost
# Host localhost found: line 1 type ECDSA
|1|s...........4=|ZU.........YY= ecdsa-sha2-nistp256 AAAAE2............................koXnk=
  • known_hostの格納行を削除
foo@hoge:~/.ssh$ ssh-keygen -R localhost
# Host localhost found: line 1 type ECDSA
/home/foo/.ssh/known_hosts updated.
Original contents retained as /home/foo/.ssh/known_hosts.old

以上。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です