概要
SSHでサーバ側のホストキーが変更されると、SSH接続を試みた際に以下のようなエラーとなり接続することができなくなる。
GitHubやBitbucketのホストキーが更新されることがあり、ある日突然リポジトリへpushなどができなくなるのはこれが原因である。
解決方法
SSHクライアント側の.ssh/known_hostsファイルにある古いホスト情報が残っているのが原因であるため、それを削除すればよい。
例)ホストがgithub.comの場合
以下のどちらかの方法で古いホスト情報を削除する。
- .ssh/known_hostsを開きgithub.comの行を削除する。
- コマンドでssh-keygen -R github.comを実行する。
削除後にSSH接続を行うと正常に接続され、新しいホストキーがSSHクライアント側に保存される。