日: 2023年5月11日

  • GitHub接続エラーとその解決方法

    GitHub接続エラーとその解決方法

    GitHubへの接続エラーについて書きたいと思います。これは私自身が遭遇した問題で、その解決策を共有したいと思います。

    問題の概要

    ある日、GitHubにSSH経由で接続しようとしたところ、以下のようなエラーメッセージが表示されました。

    The fingerprint for the RSA key sent by the remote host is SHA25

    このメッセージは、GitHubのサーバーから送られてきたRSAキーのフィンガープリントがSHA25と一致しないという意味です。SSHは安全な接続を確保するために、接続先のサーバーから送られてくる公開鍵のフィンガープリントを検証します。しかし、何らかの理由でフィンガープリントが一致しない場合、このようなエラーが表示されます。

    解決策

    この問題の解決策は、ssh-keygenコマンドを用いて、known_hostsファイルからGitHubのエントリを削除することです。以下のコマンドを実行します。

    ssh-keygen -R github.com

    すると、以下のようなメッセージが表示されます。

    # Host github.com found: line 50
    /Users/sumito.tsukada/.ssh/known_hosts updated.
    Original contents retained as /Users/sumito.tsukada/.ssh/known_hosts.old

    このメッセージは、known_hostsファイルからGitHubのエントリが見つかり、 削除されたことを示しています。 また、元のknown_hostsファイルの内容はknown_hosts.oldとして保存されます。 これで問題は解決し、再度GitHubに接続すると新たに公開鍵のフィンガープリントを確認するプロンプトが表示されます。 ここでyesを選択すると、新しいフィンガープリントがknown_hostsファイルに追加され、再度接続する際にはこのフィンガープリントが使用されます。

    まとめ

    今回はGitHubへのSSH接続時に遭遇したエラーとその解決策について説明しました。 この問題は、SSHのフィンガープリント検証がうまくいかない場合に発生します。 解決策はssh-keygen -Rコマンドを用いてknown_hostsから該当のエントリを削除し、再度接続することで新たなフィンガープリントを取得することです。