【Github初心者】git pushでdenied to deploy keyのエラーが起きた。

こんにちは、にっちもです。
githubに登録したので、さっそく色々と勉強してみようとターミナルを開いて挑戦しているのですが、早速エラーにつまづいてしまいました。

解決できた後から言えば、原因はgithubへのSSHキーの登録がうまく行えていなかったために起きていたエラーでした。
初心者故に訳が分からず同じような症状に困っている人もいるのではないかと思い、今回は記事にしました。

まず、githubで練習用の新しいレポジトリを登録する。

1.githubの自分のプロフィールページを選択する。
2.Repositoriesのタブを選択し、newボタンから新しいレポジトリを作成する。
3.新しいテスト用のレポジトリを作成後、自分で用意していたREADME.mdをプッシュしようとする。
プッシュするREADMEがあるフォルダに、cdで移動して、

git init
git add README.md
git status 
git commit -m "first commit"
remote add origin git@github.com:XXXX/YYYY.git

XXXXはユーザー名、YYYYは作ったレポジトリの名前になります。
ここまでは、githubで新しいレポジトリを登録した時に、README.mdを自動生成しない場合、<>codeタブのところで、最初に実行するべきターミナルのコマンドが記載されているので問題ないかと思います。
そして、ここまでは私もエラーが起きませんでした。

参考元:GitHub初心者はForkしない方のPull Requestから入門しよう
Githubでのレポジトリ作成はこの記事を参考にしました。

そして、git pushでエラーが起きた。

git push -u origin master

ERROR: Permission to XXXX/YYYY.git denied to deploy key
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

満を期してよしgit pushだ!!と思ったその瞬間。
はい、こんな感じのエラーが起きました。

deploy key(開発キー)のPermisson(権限)がありませんよ!!というエラーなのかなと感じました。
その後色々と調べて右往左往しまくってしまったのですが、見直したのは自分のユーザーに結びついているSSHキーです。

対処法:SSHキーへの公開鍵の登録

同じエラーが起きている方はまず、githubのユーザーアイコンを押して、settingの項目を選択してください。
次に、左に表示されるPersonal Settingのタグから、SSH and GPGKeys の項目を選択します。

そこにSSHキーがちゃんと登録されていれば、登録されたSSHキーが以下のメッセージと共に表示されているはずです。

This is a list of SSH keys associated with your account. Remove any keys that you do not recognize.

しかし、私の場合は表示されていませんでした。

There are no SSH keys associated with your account.

この文字と共にSSHキーは空っぽですよーと言わんばかりの画面がそこに。
おかしいなぁ、最初登録した時に公開鍵も登録したと思ったんだけれど……と首を傾げながら、今度は自分の公開鍵をコピーしに、またターミナルへ。
(登録した時はまだターミナルにも全く慣れていない初心者だったので何かしらエラーが起きていたのかもしれません)

cd ~/.ssh
ls

公開鍵があるかなと、lsでファイルを確認したら、id_rsa.pubが存在していたので、

cat ~/.ssh/id_rsa.pub

で、ファイルの中身を表示、そしてコピー。
また、githubのSSHKeyのページに戻り、NewSSHKeyボタンをクリック。
Titleにキーの名前(任意の名前で)、Keyのテキストボックスに先ほどの公開鍵を貼り付けて、Add SSHkeyボタンを押して登録!!!

Key is already in use

はいエラー!!!!なんでやねーん!!!
やっぱり最初の登録時に何かミスってたの??と思いつつも、ここで立ち止まるわけにはいかない。
現在持っている公開鍵でダメなら、新しい公開鍵を作って登録するしかない。

参考元:6.1 GitHub - アカウントの準備と設定

新しい公開鍵の作成。

すでに.sshのフォルダに移動していたので、そのまま公開鍵の作成をします

ssh-keygen -t rsa -b 4096 -C "ZZZZZZ@gmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user/.ssh/id_rsa): 
/Users/user/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

ZZZZZZ@gmail.comは登録に使ったメアドを使ってください。
これで新しい公開鍵が作成されました。
そのあとは一個前の手順と同じです。公開鍵をコピーして、またgithubからSSHキーの登録をします。

参考元:Github Help:Generating a new SSH key and adding it to the ssh-agent

今度はうまくできました!!
その状態でgit pushを行ったら無事行えたので、今回のエラーはSSHキーの登録ミスが原因だったみたいです。

なんとか、git pushを無事行えるようになったので、この後の勉強がようやく進みそうです。
もし、同じエラーで苦しんでいる人がいたらその一助になれれば幸いです。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.