この記事を書いた背景
EC2で2つのインスタンスを立ち上げました。
その時にSSH接続をする際以下のエラーが出ました。
% ssh -i #今回は省略
するとこんなエラーが出ました。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#省略
原因
AWS上でサーバを作ったり消したりしていると同じIPアドレスでサーバが用意される事があるみたいです。
SSH接続時には、以前保存した情報といま接続しようとしているサーバの情報が一致しているかを確認することで、ユーザ(クライアント)が別のサーバへ接続してしまうことを防ぐ機能があるみたいです。
そのため、IPアドレスの振り直しやOS再インストールなどでホスト鍵が変わってしまった場合、エラーが出るみたいです。
解決法
これで解決しました。
ssh-keygen -R [IPアドレス]
% ssh-keygen -R 54.250.137.54
# Host 54.250.137.54 found: line 14
/Users/taro/.ssh/known_hosts updated.
Original contents retained as /Users/hashimotonoriaki/.ssh/known_hosts.old
これでエラーが出なくなりました。
参考資料
この記事を参考にしました。