← エラー辞典に戻る

環境構築

Permission denied (publickey)

SSH鍵が設定されていない

こんな症状

git pushすると「Permission denied (publickey)」と表示される。SSH設定で起きやすいよ。

まず試す

手早く済ませるならリモートURLをHTTPSに変える。本格運用ならSSH鍵を生成してGitHubに登録する。

env
# 方法1: HTTPSに変える(手早い)
git remote set-url origin https://github.com/ユーザー名/リポジトリ名.git

# 方法2: SSH鍵を作って GitHub に登録
ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • SSH鍵を作っていない
    → ssh-keygen で生成し、公開鍵をGitHubのSettings→SSH keysに登録する。
  • とりあえず push したい
    → git remote set-url origin で HTTPS URL に変える。
  • 設定したのに繋がらない
    → ssh -T [email protected] で接続テスト(successfully authenticated でOK)。

なぜ起きる?

GitHubにSSH鍵が登録されていない、またはHTTPS URLを使うべきところでSSH URLを使っているよ。GitHubはpush時に「あなたは誰?」と認証するんだけど、SSH鍵が設定されていないと認証に失敗するんだ。

✕ エラーが起きるコード
$ git push
Permission denied (publickey)
# SSH鍵が未設定
✓ 直したコード
$ ssh-keygen -t ed25519
$ cat ~/.ssh/id_ed25519.pub
# GitHubに公開鍵を登録

✅ 直ったか確認

git push が認証エラーなく通ればOK。

🆘 まだ直らないときは

git remote -v で SSH/HTTPS どちらのURLか確認しよう。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

Gitレッスン3:GitHubに公開で根本から理解する →

✏️ 手を動かして練習

このテーマの図解ドリルで実際に書いて確認する →

📝 関連ブログ記事

📖 関連する用語

🚀 Gitレッスン3:GitHubに公開で根本解決しよう!

このエラーの背景にある仕組みを、手を動かしながら学べるレッスンがあります。完全無料・登録不要。

Gitレッスン3:GitHubに公開へ →

❓ 関連するQ&A