こんにちは、ウチイダです。
GitHubのリモートリポジトリへ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:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
Offending RSA key in ~/.ssh/known_hosts:1
remove with:
ssh-keygen -f "~/.ssh/known_hosts" -R "github.com"
RSA host key for github.com has changed and you have requested strict checking.
ローカルに保持している接続先情報と違うサーバーにつながったよ、とのこと。
中間者攻撃かもしれないと書かれており、ちょっとドキッとしますよね。。。
調べてみたところ、公式からアナウンスが出ていました。
GitHubサーバーの秘密鍵を、公開リポジトリに置いてしまったのとこと…
短時間ってどのくらいなんでしょうね…?
このセキュリティインシデントに対する措置として鍵を取り換えたということのようです。
新しい内容で接続できるように変更しておきます。
やることは特に難しくなく、古い情報を破棄して新しい情報に差し替えるだけです。
# 古い鍵情報の破棄
$ ssh-keygen -R github.com
/home/y-uchiida/.ssh/known_hosts updated.
Original contents retained as /home/y-uchiida/.ssh/known_hosts.old
# 新しい鍵情報を追加
$ ssh -T github.com
The authenticity of host 'github.com (20.27.177.113)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM. # 表示される鍵情報が正しいものか確認
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes # yes を入力
Warning: Permanently added 'github.com' (ECDSA) to the list of known hosts.
Hi y-uchiida! You've successfully authenticated, but GitHub does not provide shell access.
アナウンスだと、known_hosts に接続先情報を手動追加、もしくはコマンドで追加するように記載されていましたが、少し違う方法を取りました。
ssh -T github.com
で接続テストをすると、known_hosts に接続先の情報がなければ確認を出してくれます。
ここでyes を入力すれば、接続先情報がknown_hosts に登録されます。
以下のページで、GitHubの公開鍵が一覧化されています。
接続確認時に表示された公開鍵が、いずれかに一致していれば問題ありません。
以上です。あなたのお役に立てれば幸いです。
最近のコメント