ものづくりブログ

ゼロからスタートして何かを作って世に出すまでのことを書くブログです.

SSH接続する際にホスト側が変わってしまって接続できない時の対処法

 

こんにちは.

 

前回の記事でお知らせしたとおり,私のラズパイのOSが壊れてしまったので再インストールを行いました.

 

再インストールなのでほぼ同じ環境でシステムを構築しましたが,Mac側から見ると以前と異なるホストとなってしまうようで,他者がなりすましている可能性を疑います.これはセキュリティ的に必要なのですが,接続できないのは困りますよね.そこでそれを回避するための設定方法を解説します.

 

私の場合ssh接続を使用としたらターミナルに以下の様な画面が表示されました.

 

f:id:daisukekmr:20150208171846p:plain

 

この中に書かれているknown_hostsというファイルを編集することで問題を解決します.このファイルはすでに接続したことのある接続先についての情報を保存するものですが,今回接続したホストとIPが同じにもかかわらず情報が一致しないため,エラーが出たというのが今回の問題のメカニズムです.

 

そこで,この中の該当の接続の情報を削除してしまえば問題は解決します.

 

ここに表示されているディレクトリに行き,known_hostを開きます.該当のIPの箇所を削除して上書き保存すれば完了です.具体的には,今回接続できなかったIPから,他のIPについての記述が始まる直前までを削除すればOKです.

設定失敗して不具合が起こると困るので,同じ内容のファイルを別名で保存しておき,バックアップとすることをおすすめします.

私の場合はBonjourを使用してraspberypi.localという名前で保存されていたので,それ以降で次のIPの情報が記述されている部分の直前までをすべて削除しました.

 

削除後上書き保存し,もう一度ssh接続を試みたところ,接続してよいか確認され,

 

yes

 

と打ち込んだら無事アクセスできました.

 

もう一度known_hostを開いたところ,ちゃんと今の接続の情報が書き込まれていました.

 

 

 

参考文献

[1]Qiita「Linux - SSH接続エラー回避方法:.ssh/known_hostsから特定のホストを削除する/削除しないで対処する3つの方法」(http://qiita.com/grgrjnjn/items/8ca33b64ea0406e12938)