鶏口牛後な日々

心の赴くまま、やりたいことを仕事に。

「 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」が出る

表題のエラーが出た!

例えば、なんらかのサーバーに久しぶりにアクセスするときなんかに、このエラーが出ることがあります。

「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」

WARNINGと警告が出る。

結構仰々しいエラーで一瞬びっくりします。

誰かが eavesdropping(盗み聞き)しているかもしれないよ、と。アクセスが見られている可能性があるということですかね。

man-in-the-middle attack(中間者攻撃)の可能性があるよとも書かれています。

よくある理由

実際にそういうこともあると思いますが、例えば自分で作ったサイトにアクセスする場合などは、自分でIPを変えた後初めてアクセスしようとした、といった場合に、このエラーが一度は出ます。

そもそも、リモートホスト、つまりインターネット上にあるサーバ等に、アクセスしようとするとき、ローカルの端末に、known_hosts(=知ってるホスト)として、サーバ名やIPと共に、fingerprintという印が保存されます。

保存場所としてよくあるのは、.sshフォルダの直下などです。

それが久しぶりにアクセスしようとして、サーバ名とfingerprintが一致しないとこのエラーが出るというわけです。

細かい理由を知りたい人は、さらにググってください。

解消方法

先程のエラー、よく見ると、下の方で、該当するknown_hostsファイルの行数を書いてくれています。

問題が生じる原因のknown_hostsファイル内の行数を確認できる

これを見ると、known_hostsの「:2」とあるので、つまり2行目のレコードが問題を引き起こしているということがわかります。

これを確認して、known_hostsファイルをviやvimで開き、その行を削除(ショートカットキーはdd)、保存して終了(:wq)で、再度アクセスを試みてください。

次は、エラーは出ずに、新しいfingerprintを追加していいか? と聞かれます。

新しいfingerprintを追加していいか聞かれる。

yesと打ち込んでEnterを押すと、known_hostsに新しいfingerprintが追加されて、接続ができるようになります。

以上です。