git

【Git】鍵再生成してもできなかった・・・”Permission denied”のエラーの対処方法解説

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、gitで”Permission denied (publickey).”というエラーが発生した際の対処方法を解説します。鍵を再作成をしてもなぜかこのエラーが対処できませんでした。その原因は、SSHの秘密鍵がロードされていないことが原因でした。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

【Git】”Permission denied”のエラーの対処方法解説

gitでpushするとき、”Permission denied”のエラーが出てきてできない・・・

今回のエラーでは、Gitで下記のエラーが発生した場合の対処方法を解説します。

git@github.com: Permission denied (publickey).

このエラーの対処方法については、様々な記事がありました。鍵の生成やconfigファイルの作成など、正常に設定できているのに、なぜかエラーが出続けていました。

その原因は、SSHの秘密鍵がロードされていないことでした。

その対処方法を解説します。

Permission deniedは秘密鍵がロードされていなかったから

まず、エラーの確認です。git bashを開いてください。

“git push”や”ssh -T git@github.com”でgitにアクセスしようとすると、下記の画面のようにエラーが発生しました。

Permission denied

これの原因は、秘密鍵がロードされていないことでした。下記のコマンドで確認できます。

 ssh-add -l -E sha256
→The agent has no identities.

“The agent has no identities.”というエラーが表示されました。これは、秘密鍵が無いことを表しています。

下記のコマンドで秘密鍵を追加しましょう。

 ssh-add ~/.ssh/id_ed25519
 ssh-add [秘密鍵のファイル(.pubではない方)]

これで、Githubへの接続ができるようになりました。

参考:その他の原因の場合

これ以外でもエラーが出続ける場合は、下記の公式ドキュメントを参考にしてください。LinuxやMaxなどコマンドが若干変わる場合があります。

Error: Permission denied (publickey) – GitHub Docs

また、鍵を使った接続の仕組みについては、こちらの記事で詳しく解説しております。

【初心者向け】公開鍵暗号方式をわかりやすく解説! こんにちは、インフラエンジニアのryuです。 今回の記事では、初心者向けに公開鍵暗号方式をわかりやすく解説します...

【Git】”Permission denied”のエラーまとめ

今回の記事では、Gitのエラーについて解説しました。

このエラーは、多くの記事で対処方法を解説していましたが、この解決策は書かれておらず、解決まで時間がかかってしまいました・・・

Gitについてさらに学びたいという方は、こちらの講座や参考書がオススメです。

世界最大級のオンライン学習サイトUdemy

git講座

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。