GitHubにgit pushしたら「REMOTE HOST IDENTIFICATION HAS CHANGED!」と出てエラー

※当サイトは、アフィリエイト広告を利用しています

結論:「~/.ssh/konwon_hosts」ファイルのホスト鍵情報を新しいものに入れ替える

2023/3/27 Flutter エラー・バグ日記

 

Flutterの話ではなく、GitHubで詰まった話。

 

既に多くの報告記事が公開されているが、素人ゆえに悩んだ点もあったので、忘れないように記録。

 

数日前まで問題なかったのだが、GitHub「git push」したところ、突然、以下のエラーが出て成功しなかった。

 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:######(略)######.
Please contact your system administrator.
Add correct host key in /Users/######/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/######/.ssh/known_hosts:1
Host key for github.com has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

 

本記事はライトな日記思考で書いているので、詳細説明はしておらず、基本、テキストのみで画像とかはあまり載せておりません。。m(_ _)m

解説記事ではないため、解決していない内容や、その時々の間違った解釈を述べてしまっている可能性が大いにありますので、何卒、ご了承ください。

 

  • 誰かがあなたを傍受している可能性があります (中間者攻撃)。
  • ホストキーが変更された可能性もあります。
  • システム管理者に連絡してください。

 

などと書かれており、かなり驚く。。何かやってしまったのだろうか。。

 

GitHub側の問題。でも対処は必要。。

調べると山ほど報告記事があった(安心した。。)。

 

こちらの記事が大変わかりやすく、かつ詳細に解説くださっていた(ありがとうございますm(_ _)m)。

 

 

3月24日に、GitHub側が、RSA SSHホスト鍵を更新したためとのこと。

 

こちらのGitHub公式

 

 

の説明によると、

 

  • GitHub.comのRSA SSH秘密鍵が、GitHubの公開リポジトリで短期間公開されたことが判明しました。
  • 3月24日午前5時(UTC)頃、GitHub.comのGit操作を保護するために使用しているRSA SSHホスト鍵を更新しました。
  • GitHub.com の RSA SSH キーのみが置き換えられました。 ECDSAやEd25519をお使いの方は変更する必要はありません。

 

などと書かれている。

 

理解不足だが、秘密鍵を知られてしまったかもしれないので、対応する公開鍵を変更したよ、ということか。

 

「~/.ssh/konwon_hosts」のファイルを修正する

ユーザー側の対処として、「~/.ssh/konwon_hosts」にあるファイルを書き換える必要があるとのこと。

 

こちらの記事こちらの公式説明を参考に実行してみる。

 

Macの場合、「~/.ssh/konwon_hosts」の「~」は、ユーザー名であり、「.ssh」フォルダは隠しフォルダなので、Fiinderで表示されない場合は、「command」+「shift」+「.」で表示させる必要がある。

 

「konwon_hosts」ファイルを開くと、

 

github.com,52.192.72.89 ssh-rsa AAAAB・・・(略)・・・
13.114.40.48 ssh-rsa AAAAB・・・(略)・・・
52.69.186.44 ssh-rsa AAAAB・・・(略)・・・
20.27.177.113 ssh-rsa AAAAB・・・(略)・・・

 

のように、非常に長いキー情報が書かれたものが4セットあった。

 

ここで、古いキー情報を

 

ssh-keygen -R github.com

 

のコマンドで削除したところ、「github.com」で始まるキー情報だけ削除された(「github.com」のホストを指定して「-R」で削除しているため)。

 

次に、残っている3セットの上部に、こちらのページ

 

 

にある、フィンガープリント一覧の下記3つ

 

github.com ssh-ed25519 AAAAC・・・(略)・・・
github.com ecdsa-sha2-nistp256 AAAAE・・・(略)・・・
github.com ssh-rsa AAAAB・・・(略)・・・

※正確さを担保するため、上記公式サイトからコピペしていただく方が良いので、敢えてここでは全体を記載せず

 

を貼り付けて、「konwon_hosts」ファイル内を下記のように修正した。

 

github.com ssh-ed25519 AAAAC・・・(略)・・・
github.com ecdsa-sha2-nistp256 AAAAE・・・(略)・・・
github.com ssh-rsa AAAAB・・・(略)・・・
13.114.40.48 ssh-rsa AAAAB・・・(略)・・・
52.69.186.44 ssh-rsa AAAAB・・・(略)・・・
20.27.177.113 ssh-rsa AAAAB・・・(略)・・・

 

この状態で、「git push」したら、エラーなく成功した。

 

加えるのは「github.com ssh-rsa AAAAB・・・」だけで良かった

以下は、素人ゆえに、、対応に右往左往した内容のメモ。

 

後で気づいたが、今回は、RSA方式のSSHキーのみが更新されたので、こちらの公式説明の「What you can do」にもあるとおり、「github.com ssh-rsa AAAAB・・・」だけを追加すれば良かった。

 

実際、「github.com ssh-ed25519 AAAAC・・・」と「github.com ecdsa-sha2-nistp256 AAAAE・・・」を削除しても問題なく「git push」できた。

 

また、当初は、「ssh-keygen -R github.com」コマンド実行後、前述のとおり3つのキー情報が残ったので、残ったキー情報もすべて手動削除して、「konwon_hosts」ファイルを丸ごと、新しいキー情報で置き換えていた。

 

しかし、この対応で良かったのか不安だったので、「Chat-GPT」に尋ねたところ、

 

「konwon_hosts」には、GitHub以外のSSHのホストキー情報も入っている可能性があるので、気をつけたほうが良い

 

と回答をもらったので、焦って残っていた3つのキー情報を元に戻した。。

 

ただ、、調べてみると、いずれもGitHubのキー情報のようだったので、消してしまっても大丈夫ではあった模様。(念のために戻したままにしてあるが)。

 

※恥ずかしながら、まだ理解が浅いので、、間違っていることを書いていたらご指摘くださいm(_ _)m。

 

\一般的なエラー対処法をまとめた記事はこちら/

 

リリースしたアプリ(全てFlutterで開発)

 

個人アプリ開発で役立ったもの

おすすめの学習教材

超初心者向けでオススメな元Udemyの講座/

 

 \キャンペーン時を狙えば安価で網羅的な内容が学べる(日本語訳あり)/

 

\Gitの基礎について無料で学べる/

 

おすすめの学習書籍

実用的image_pickerに関してかなり助けられた/

 

Dartの基礎文法を素早くインプットできる/


Dart入門 - Dartの要点をつかむためのクイックツアー

タイトルとURLをコピーしました