先日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.
「Permission denied (publickey)」…?ナニソレ??
ということで色々調べてみた結果、
- 公開鍵の設定
をしてあげるとこのエラーも解消されました。
ということで今回はGitの「Permission denied (publickey)」というエラーの対処法を備忘録としてまとめました。
エラー解決までの手順
手順はこんな感じ。
GitのPermission denied (publickey)の対処法
調べてみたところ、ssh接続をするために公開鍵を設定する必要があるとのこと。公開鍵(SSH key)については自分も曖昧だったので少し調べてみました。
SSHは暗号技術を使いリモートホストで安全にコマンドを実行するためのプロトコルで、「ssh」は暗号化された通信を使ってリモート接続をするコマンドです。リモートマシンにログインして、リモートマシン上でコマンドを実行したい場合に使用します。
(引用:atmarkITより)
…だそうです。
ブログ主
公開鍵を生成する
$ 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に公開鍵が生成されます。
公開鍵をコピーする
$ pbcopy < ~/.ssh/id_rsa.pub
先ほど生成した公開鍵をコピーします。
くるみ
Githubで公開鍵を登録する
Githubを開き公開鍵を設定してきます。
「Settings」に進む
「SSH and GPG keys」
「New SSH key」をクリック
公開鍵を設定
「Key」という項目のところに先ほどコピーした公開鍵をペーストします。
そしたら「Add SSH key」をクリックして設定完了です。
接続確認をするには
ssh -T git@github.com
上のコマンドで、公開鍵が合っているか・接続できているか確認できます。
Hi 〇〇〇! You've successfully authenticated, but GitHub does not provide shell access.
こんな感じの気さくな文章が帰ってくれば完了です。
ブログ主もその後無事にpushできました。めでたしめでたし。
くるみ
まとめ
参考になれば幸いです!では⸝⸝- ̫ -⸝⸝
参考 SSH認証キーをGitHubへ設定する。(Mac用)Qiita