ローカルで環境ごとの仮想マシンを起動してるときにWARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!が出る場合の対処方法

2015年8月10日

$ ssh hoge@192.168.1.10
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 the RSA host key has just been changed.

というのは、SSHログインするときに
「SSH host key」というのを、確認してて
以前known_hostsに登録したものと違う場合に出すメッセージで
普段はほとんど出ないはずですが
仮想マシンで同じIPで別の仮想マシンを起動してたりすると
良く出ます。

たとえば、localhost:2200で仮想マシン1にSSHする時に

Are you sure you want to continue connecting (yes/no)?

と聞かれて、yesとすることで

known_listsに仮想マシン1のHost Keyが登録されます。

この状態で
仮想マシン1を落として
仮想マシン2を再度localhost:2200で起動させた場合に

上記のワーニングが出ます。
これがめんどくさいので
localhostへのssh接続の場合は、このワーニングを出ないようにしたいと思います。

vi ~/.ssh/config

で、以下を追記

Host localhost
 StrictHostKeyChecking no
 UserKnownHostsFile=/dev/null

これでワーニングが出なくなります。