【Git】Permission denied (publickey)というエラーの対処法
困ったこと
git@github.com: Permission denied (publickey).fatal: Could not read from remote repository.
Please make sure you have the correct access rightsand the repository exists.
リモートリポジトリにpushしようとしたらこのようなエラーが出た。
解決法
原因はssh接続をするための公開鍵を設定していなかったこと。
1. 公開鍵を生成する
$ cd ~/.ssh
まずは.ssh
ディレクトリに移動する。
$ ssh-keygen
公開鍵を生成するコマンドを叩く。
enerating 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:Your identification has been saved in /Users/.../.ssh/id_rsa.Your public key has been saved in /Users/.../.ssh/id_rsa.pub.The key fingerprint is:
色々聞かれますが全部Enterを押す。
The key's randomart image is:
このようなテキストの下に、謎の模様のようなものが表示されればOK。これで.ssh_id_rsa
に公開鍵が生成される。
2. 公開鍵をコピーする
$ pbcopy < ~/.ssh/id_rsa.pub
先ほど生成した公開鍵をコピーする。
3. GitHubで公開鍵を登録する
GitHub上で公開鍵を設定していく。
「Settings」をクリック。
「SSH and GPG keys」をクリック。
「New SSH key」をクリック。
「Key」のテキストエリアに、先ほどコピーした公開鍵をペーストする。
最後に「Add SSH key」をクリックすれば設定完了。
4. 接続確認
ssh -T git@github.com
上のコマンドを叩くと、公開鍵が合っているか・接続できているか確認できる。
Hi 〇〇〇! You've successfully authenticated, but GitHub does not provide shell access.
こんな感じの気さくな文章が出力されればOK。無事にpushもできるようになった。
参考