~/.ssh/known_hosts

~/.ssh/known_hostsには,一度接続したことのあるサーバについての情報(フィンガープリント)が記述されている.SSHでは接続するたびサーバから受けとった公開鍵とknown_hostsに記述されている公開鍵を比較し、信頼するサーバかを確認している.そうすることによって別のサーバなどにアクセスしてしまうことを防ぎより安全性を保っている.

  • まず,初めてのサーバに接続すると
Are you sure you want to continue connecting (yes/no)?

というメッセージが出る.

  • 一度接続されるとクライアント側のknown_hostsにサーバのSSH証明書が格納される.

エラーについて

known_hostsがあることにより起こるエラーについて

ssh接続先サーバがホスト名を変更したりするとエラー(ワーニング)が発生して接続ができなくなる.上記のようにサーバに関して記録されていた情報と異なる点が生じるために起こる.安全のためですね.

対処方法はもちろんその情報を消すこと.known_hostsにサーバ名が一覧として記述されているので該当のサーバの情報を消しましょう.