久々permission deniedのエラーに出くわしたので、解決法をまとめました。
エラーの原因
sshによるgithubの認証が失敗している。
pushする際やcloneしてくる際にエラーが起こる。
以下二つが原因として考えられる。
- ローカルPCのファイルにsshキーが生成されていない。
- sshキーがgithubに登録されていない。
解決方法
1. SSH Keyをローカルで生成する
以下のコマンドでディレクトリを変更
cd ~/.ssh
以下のコマンドを実行し、ssh keyを生成
ssh-keygen
以下のようにいくつか回答を求められると思いますが、全てEnterを押して進む。
(Enterを押したらデフォルトの設定が適用されます。)
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/〇〇/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
現在いる.sshディレクトリでcatコマンドを実行し、生成されたSSH keyを確認する
catを実行して表示されたSSH keyは次のステップで使用するのでコピーしておいてください。
% cat id_rsa.pub
2. ローカルで生成したSSH keyをgithubに登録する
githubの設定画面にあるSSH and GPG keysをクリックしてください。
進むと以下の画面が出てくるので[new SSH key]ボタンをクリックして進んでください。
以下の画面が出てくるので、title、keyの部分を埋めます。
titileは任意の名前でkeyにはコピーしたSSH keyをペーストしてください。