LoginSignup
0
0

More than 1 year has passed since last update.

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

Last updated at Posted at 2023-02-23

概要

git hubpushしようとした際、下記のエラーによってpushできなかったので、その解決方法を備忘録も含めて残しておきます。

# 入力コマンド
git push -u origin main

# エラー文
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

修正方法

1. 接続確認

下記のコマンドをターミナルに入力して、git hubにアクセスるできるか確認する
(何らかののエラーが表示されるはずです)

ssh -T git@github.com

# エラー文
git@github.com: Permission denied (publickey).
# または下記のエラーが表示される
Warning: Permanently added the RSA host key for IP address 'あなたのIPアドレス' to the list of known hosts.
git@github.com: Permission denied (publickey).

2. 秘密鍵(id_rsa)と公開鍵(id_rsa.pub)の確認

下記のコマンドを入力して、id_rsaid_rsa.pubがあるか確認する

ls ~/.ssh 

# 下記の二つが生成されていた場合は、新しくid_rsa、id_rsa.pubを作る必要はない
id_rsa  id_rsa.pub

もし、id_rsaid_rsa.pubがない場合は、下記のコマンドを入力して作成する

ssh-keygen -t rsa

# コマンド入力後は、Enterを連打して完了する

もっと堅実な方法で作成したい場合は、下記のサイトを参考にして下さい
ターミナルで鍵を作成する

3. 公開鍵(id_rsa.pub)の情報を確認する

下記のコマンドを入力すると公開鍵の情報が表示される為、その情報をコピーしておく

cat ~/.ssh/id_rsa.pub

4. 公開鍵(id_rsa.pub)をgithubに登録する

githubを開く
自分のアイコンをクリックして、Settingsを押下する
サイドメニューバーに、SSH and GPG kesが表示されている為、その表示を押下する
githubサイドバー.png

SSH and GPG kesを押下するとnew SSH keyが表示されているので、そのボタンを押下する
New SSH keyの画像.png

TitleKey typeKeyを入力する
SSH keys : Add new.png

  • Title
    任意でタイトルを入力。公開鍵の使用用途を記載するのが最良の選択
  • Key type
    authentication key の状態で良い
  • Key
    公開鍵(id_rsa.pub)の情報を貼り付ける (改行や空白に注意)
    下記の方法でも、公開鍵(id_rsa.pub)の設定は可能
pbcopy < ~/.ssh/id_rsa.pub

Key typesigning keyの補足
signing keyは、S/MIMEを用いて公開鍵に署名を付与する事が可能。署名を付与する事で、本人の妥当性を証明できる。設定方法に関しては、下記を参照

5. githubにsshで接続できるか最終確認

ssh -T git@github.com
# パスワードの入力を促された場合は、PCに登録しているパスワードを入力する
Enter passphrase for key '/Users/ユーザー名/.ssh/id_rsa': 

正常に接続できれば、下記のコメントが表示される

Hi あなたの名前! You've successfully authenticated, but GitHub does not provide shell access.

6. git push コマンド

ターミナルからgithubにログインが行えていれば、正常にgit pushコマンドが動作する

git push -u origin main                

# 正常にpushした時のコメントが表示される
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
# 以下省略

参考資料

0
0
0

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
0
0