LoginSignup
16
13

More than 1 year has passed since last update.

Gitのエラー:Permission denied (publickey). を解決した備忘録

Last updated at Posted at 2022-02-17

git push origin master
で吐かれたエラーを解決した方法の備忘録です

やろうとしていた事

新しいリポジトリを作成したので、ファーストコミットをリモートにpushしようとしていました

現象

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

それまでにやっていた事の時系列

①ローカルでリポジトリの作成

$ git init
→無事完了していました

②変更点の登録

$ git add .
→問題なし

③コミット

$ git ci -m "Feat:first-commit" ... エイリアスつけてます
→問題なし

④masterにpush

$ git push origin master
→ここでエラー!

原因

githubに公開鍵の設定ができていない、又は再度pushが必要とのことでした

エラーの確認① githubとSSH接続できるかチェックしてみる

$ ssh -T git@github.com

成功例は↓こうなります↓

Hi 俺君! You've successfully authenticated, but GitHub does not provide shell access.

エラーを吐くと↓こうなります↓

Warning: Permanently added the RSA host key for IP address '俺君のIPアドレス' to the list of known hosts.
git@github.com: Permission denied (publickey).

上記と同じエラーを吐いていました

解決手順

① 鍵のペアがあるか確認してみる

移動します
$ cd ~/.ssh

ここで、配下にファイルが存在するか確認しましょう
$ ls

id_rsa id_rsa.pub

このペアが存在すればOKです
 無ければ生成しましょう!

①-2 鍵のペアを生成する(必要な人だけ)

$ ssh-keygen -t rsa

Enter連打して完了です

② その公開鍵(id_rsa.pub)をgithubに登録する

まず、githubを開きます
自分のアイコンをクリックして、「Settings」を押します

↓この画像↓の色が変わっている「SSH and GPG kes」をクリックします
スクリーンショット 2022-02-17 23.26.32.png

次に、画面右側あたりの緑色のボタン、「new SSH key」をクリックします

すると、↓こんな画面に変わります↓スクリーンショット 2022-02-17 23.28.09.png

【Title】
公開鍵の使用用途を書きましょう、忘れないために...

【Key】
ここに公開鍵の情報をバシッとコピペするのですが、下記2パターンで取得できます

①ターミナルから、クリップボードにコピーさせちゃう方法
$ pbcopy < ~/.ssh/id_rsa.pub

②catして、自分でコピー取る方法
$ cat ~/.ssh/id_rsa.pub

どちらでも大丈夫ですが、改行や空白が入らない様に気をつけてください

では、取得した情報をバシッと貼り付けて保存しましょう

③もう一度ssh接続をテストする

先ほどと同じコマンドです
ssh -T git@github.com

うまくいけばこれで完了です
ちゃんとpushできるようになりました

参考文献

16
13
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
13