Git push できない(SSH認証で蹴られる)
SSH 鍵が GitHub に登録されていない、または ssh-agent に追加されていないと push が拒否される。
最も多い原因と対処を順に確認する。
#auth#ssh#push#github
公開:
要約
git push が Permission denied (publickey). で失敗するケースは、
SSH 認証の準備が整っていない場合に発生する。
最初に確認するのは
「鍵が GitHub に登録済みか」「ssh-agent に鍵が追加されているか」「リモート URL が SSH か」の3点。
よくある原因
- 公開鍵未登録: GitHub に公開鍵がアップロードされていない
- ssh-agent に鍵が無い: 端末再起動後に
ssh-addし忘れている - HTTPS リモート + 期限切れ PAT: 古い HTTPS URL に対し PAT が無効
~/.ssh/config設定ミス: 別 Host 用の設定が混在し github.com に到達できない
解決策
1. 鍵の作成と登録
ssh-keygen -t ed25519 -C "you@example.com"
cat ~/.ssh/id_ed25519.pub # この内容を GitHub Settings → SSH and GPG keys に登録2. ssh-agent への追加
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed255193. リモート URL を SSH に切り替え
git remote set-url origin git@github.com:USER/REPO.git4. 疎通確認
ssh -T git@github.com
# Hi USER! You've successfully authenticated...