【GitHub】SSHキーを追加しても接続失敗する場合の対処法(fatal: Could not read from remote repository.)

[記事内には広告が含まれています]

こんにちは、現役エンジニアの inno_tech です。

GitHubを利用するため、新たにSSHキーを生成しGithubに接続しようとしたところエラーが発生しました

備忘録として、原因とその対処方法をまとめます。

ちなみにGitHubにSSH接続するための設定方法はこちらの記事にまとめています。

あわせて読みたい
【初心者向け】GitHubでSSH接続の設定方法 for Ubuntu GitHubでSSH接続の設定方法をお探しでしょうか?今回は、Ubuntu20.04LTSを使ってGitHubにSSH接続するまでの手順を説明します。 本記事を読めば、GitHub上のリモートリポ...

本記事はUbuntu 20.04LTS上で動作確認しています。

もくじ

エラー内容

git clone時に以下のようなエラーが発生しました。(Error:Repository not found. fatal: Could not read from remote repository. )

git clone git@github.com:[username]/[repository_name].git
Cloning into '[repository_name]'...
Warning: Permanently added the ECDSA host key for IP address '52.69.186.44' to the list of known hosts.
ERROR: Repository not found.
fatal: Could not read from remote repository.

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

まずは以下のポイントについて、問題ないことを確認しておきましょう。

  • リポジトリのURLは正しい
  • リポジトリへの権限(読取/書込)はある
  • GitHub上に登録するSSHキーも正しい

同じ手順で以前も設定したことあるのに何でエラーなんや、、、

原因調査

git cloneに失敗したので、sshでgithubにログインを試してみます。すると、ログインしようとしているアカウントが違うことが判明しました

ssh git@github.com

# 応答結果
PTY allocation request failed on channel 0
Hi [意図しないアカウント]! You've successfully authenticated, but GitHub does not provide shell access.

実は今回のエラーは、GitHubアカウントを新たに再作成し、そのアカウントの設定作業中に遭遇しました。

つまりエラーの原因は、古いアカウントと新アカウントの2つのSSHキーがPC上に登録され、GitHubへのログインは古いユーザーアカウントが使用されていたことでした。

新しく登録した方が優先されるわけではないのね。

対処方法

今回は古いアカウントは使用予定がないので削除し、新しいアカウントを使用するように設定します。(複数のGitHubアカウントを切り替える手もあるようですが本記事では扱いません。)

ssh-agentからSSHキーを削除

まずは古いアカウントのSSHキーをssh-agentから削除します。

# 登録された鍵(finger print)を確認するコマンド
ssh-add -l
256 SHA256:[鍵のデータ] [鍵ファイルpath または キーコメント] ([暗号化アルゴリズム:RSA等])

# -dオプション [鍵ファイルへのパス] で削除
ssh-add -d ~/.ssh/path_key

# 削除できたか確認
ssh-add -l

鍵ファイルのパスがわからない場合、ssh-add -Dで登録された鍵をすべて削除することもできます。その場合、新しいSSHキーを再登録してください。

known_hostsからフィンガープリント情報を削除

~/.ssh/known_hostsに、古いGitHubアカウントで接続したときのフィンガープリント情報が残っているので削除します。

# nanoエディタで、それっぽい行を削除する
nano ~/.ssh/known_hosts
~~編集~~

# もしくは以下のコマンドでも自動削除できる 
ssh-keygen -R github.com

以上で古いアカウント情報は削除できました。新しいアカウントで再接続すれば上手くいくはずです。

まとめ

今回のまとめです。

  • GitHubにアクセスできない場合、正しいGitHubアカウントでログインがなされているかを確認
  • 一度GitHubと接続するとknown_hostsファイルに接続情報が残り、意図しないアカウントが使用される可能性がある

発売2ヶ月で15万部を突破した評判の書籍はこちら。数値化を意識することでボヤっとしていた仕事が具体的に捉えられるようになり、もっと前に進めるようになりますね。

参考になったでしょうか。
ほかにも役立つ情報が他のページにもあるかもしれません。
ご覧になるかはあなた次第です!

この記事がイイねと思ったら、Twitterフォロー か  にほんブログ村のどちらかしてくれたら嬉しいよ!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

コメント / ご要望

コメントする

goto
もくじ
閉じる