GitHubのpublickeyエラー:原因と解決策

冒頭まとめ git clone、git pull、git push で次のエラーが出た場合、GitHubとのSSH認証が完了していません。 git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 最初に押さえるべきは、この時点では対象リポジトリの権限確認まで進んでいないことです。GitHub公式の説明でも、Permission denied はサーバーが接続を拒否した状態とされています。共同編集者の権限、ブランチ保護、リポジトリの公開・非公開を調べる前に、SSH認証を直します。 また、末尾の publickey は「公開鍵ファイルが壊れた」という意味ではありません。サーバーが続行を許可した認証方式が公開鍵認証だけで、その方式では利用者を確認できなかったという意味です。実際の認証では、端末にある秘密鍵で署名し、GitHubに登録した公開鍵で検証します。GitHubへ追加するのは .pub 側だけです。秘密鍵は送信も貼り付けもしません。 最初の診断は次の1行です。 ssh -vT git@github.com 注目するのは、長い出力の中に Offering public key があるかどうかです。 Offering public key がない → 使える鍵を見つけていない、または選択していない Offering public key はあるが、認証されない → 提示した鍵がGitHubの該当アカウントに登録されていない、または別の鍵を提示している Server accepts key の後に signing failed → 鍵は認識されたが、ssh-agentなどが署名できていない Hi USERNAME! You've successfully authenticated... → SSH認証は成功。次にリポジトリ権限、remote、SSOを確認する つまり、新しい鍵を作ることから始めないのが要点です。まず、失敗したGit操作と同じ端末・同じSSHクライアントが、どの鍵を提示したかを確定します。 ...

2026年8月5日 · ErrorLog