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.

これで解決。

ページ上部へ