k0b0's record.

Computer Engineering, Arts and Books

SSHのエラー : WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

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 the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
...
(以下略)
...

調べてみると、このエラーは以下のことを行うと発生するみたい。

・ssh接続先サーバがOSを再インストールした
・接続先サーバがDHCPでアドレスが変わる
・接続先サーバがホスト名を付け替えた

解決方法

以下のいずれかの方法で"$HOME/.ssh/known_hosts"に書かれているホスト名を消去する。

1, ssh-keygenを使う方法

以下のコマンドで"$HOME/.ssh/known_hosts"にある"remote_host_name"を削除する。
("remote_host_name"は環境によって異なる。)

$ ssh-keygen -R "remote_host_name"

2, vimで直接編集する方法

vim(or その他のエディタ)で直接"$HOME/.ssh/known_hosts"を編集して、"remote_host_nmae"を削除する。

$ vim $HOME/.ssh/known_hosts

参考サイト

qiita.com