git pushでPermission denied
push時に拒絶される
これまで何の問題もなく利用していたのに
いつも通りgit push したところ、拒絶されてしまう。
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.
対応方法
デバッグログで鍵を確認する
ssh -vT git@github.com
列挙されるデバッグログの中からidentity fileの内容を確認する
(id_rsa.pubやid_ed25519、自身の環境ではどっちを使っているのか確認)
こちらの例ではid_ed25519.pubであることが確認できる
debug1: identity file /Users/ユーザーネーム/.ssh/id_ed25519 type 3
debug1: identity file /Users/ユーザーネーム/.ssh/id_ed25519-cert type -1
念の為 以下のコマンドで公開鍵が存在するか確認してみる
ls ~/.ssh
GitHubにSSHKeyを新しく登録する
ローカル(PC側)の公開鍵をコピー
公開鍵はターミナルから以下のコマンドでコピーできる
pbcopy < ~/.ssh/該当の公開鍵名.pub
こちらの例では
pbcopy < ~/.ssh/id_ed25519.pub
GitHub側でSSHKeyを新しく登録する
緑色のNew SSH Keyボタンから新規でSSH Keyを登録する
個人メモ:TitleはローカルのPCがわかりやすいようにここではM2Macにしておく(複数のPC利用のため)
ターミナルからコマンドを実行してGitHubとSSH接続できるか確認する
ssh -T git@github.com
成功すれば以下のメッセージが表示される
Hi GitHubのユーザー名! You've successfully authenticated, but GitHub does not provide shell access.
これで解決。