- 自分のPCからvscodeで編集したコードをgithub に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.
やりたかったこと
- 自分のPCとGithubを接続できる状態にする。
下記のコマンドを叩いたとき
ssh -T git@github.com
接続できていない状態は
git@github.com: Permission denied (publickey).
``
のように表示されます。
### なにができていなかったのか。
- 仮説
- a. githubにアクセスするためのSSHキーを作成していなかった
- b. githubにアクセスするためのSSHキーの保存に問題があった
- c. githubにアクセスするための参照しているファイルが違った
# a. githubにアクセスするためのSSHキーを作成していなかった
## 確認 : SSHキーが生成されているか
https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys
## 解決策
手順1. SSHキーの作成
https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
このサイトどおりにSSHキーを作成したことがなければ作成する
手順2. 自身のGithubアカウントに作成したSSHキーを追加
https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
# b. githubにアクセスするためのSSHキーの保存に問題があった
## 解決策
新しいSSHを作成(上書き)してやり直す
- [aの解決策](https://qiita.com/drafts/64d40c72e6b13e13f863/edit#a-github%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AEssh%E3%82%AD%E3%83%BC%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F)
# c. githubにアクセスするための参照しているファイルが違った
### 確認 : 使いたいSSHキーを使っているか
ターミナルで叩いてみる
参考記事 : [Permission denied (publickey) の 対処方法はだいたいこれ](https://ormcat.net/blog/20210509_github-denied-publickey/)
`ssh -vT -i ~/.ssh/bitbucket/id_rsa git@github.com`
- ssh コマンドで v オプションを付けてデバッグログを出力
debug1: identity file /Users/hoge/.ssh/id_rsa type 0
debug1: identity file /Users/hoge/.ssh/id_rsa-cert type -1
`.ss/id_rsa`や`.ssh/id_rsa-cert`の部分が前に自分でGithubにアクセスするために作成してGithubに登録したファイルかどうか(正確にはファイルの中身を登録している)を確認してください。
ファイル名はあくまで一例です
### 解決策1
参照するファイルが違ったのなら、
コマンドを叩く(.sshを表示させて参照するファイルを確認)
ls ~/.ssh
コマンドを叩く(参照するファイルをコピー)
pbcopy < ~/.ssh/id_rsa.pub ←参照するファイル名
pbcopyはMacの人が利用可能
コピーしたらSSHキーを追加する
[自身のGithubアカウントに作成したSSHキーを追加](https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)
### 解決策2
新しいSSHを作成(上書き)してやり直す
- [aの解決策](https://qiita.com/drafts/64d40c72e6b13e13f863/edit#a-github%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AEssh%E3%82%AD%E3%83%BC%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F)