サイトアイコン ayame.space

SSHでREMOTE HOST IDENTIFICATION HAS CHANGED!と怒られた場合の対処

SSHでは最初に接続したときサーバーの公開鍵をFingerprintとして保存して、再接続するときにサーバーがDNS改ざんなどですり替わっていないかチェックしている。
これによって偽のサーバーに間違って接続することを防いでいるが、同じIPアドレスやドメインでOSの再インストールなどを行い全く新しい構成のサーバーを再構築した場合接続できなくなって困ってしまう。
その場合は、Fingerprintを削除して新しいサーバーとして接続する。
毎回調べるのも面倒なので簡潔にメモ。

注意: このメッセージがサーバーの再インストールや置き換えなどの再構築を行っていないときに出たときはDNS改ざんなどにより別のサーバーに接続してしまっている恐れが非常に高いため絶対にこのページに書かれている方法を実行してはいけない。

方法

とっても簡単。


ssh-keygen -R [Fingerprintを削除したいドメインorIPアドレス]

これだけ。
これでもう一度ssh接続しようとするとまたThe authenticity of host … can’t be established. Are you sure you want to continue connecting (yes/no)?と聞かれるのでyesと入力すれば新しいFingerprintが保存されて接続できるようになる。

参考

モバイルバージョンを終了