LoginSignup
9
7

More than 3 years have passed since last update.

【GitHub×AWS】Permission denied (publickey). fatal: Could not read from remote repository.でGit pushできない時の対処法

Last updated at Posted at 2020-08-18

前提条件

・AWS Cloud9(IDE)を使用
・GitHubをコードのバージョン管理として使用

エラー内容

$ git push origin master
Permission denied (publickey). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.

「公開鍵がないため、許可が却下されました。リモートリポジトリから読み込めません。正しいアクセス権限があるか、レポジトリが存在しているか確認して下さい。」という内容。

原因

GitHubに公開鍵の登録がないため、アクセス権限がなく拒否をされてしまった。

対処法

SSH鍵の作成

1.下記コマンドを入力。your_email@example.comはGitHubで登録しているメールアドレスに置き換える。

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

2.Enter a file in which to save the keyで何も入力せず、エンターを押す。こうするとデフォルトのファイルの場所に作成される。

> Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]

3.パスワードを設定する。確認も含めて2回入力する。

> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

ssh-agentにSSH鍵を追加

1.バックグラウンドでssh-agentを起動させる。

$ eval "$(ssh-agent -s)"
> Agent pid 59566

2.ssh-agentにSSH鍵を追加させる。

$ ssh-add ~/.ssh/id_rsa

SSH鍵をGitHubアカウントに追加

1.公開鍵の内容を下記のコマンドで表示。表示されたものをコピーする。この時スペースや改行などが入ると認識できないため、入らないように注意する。

cat ~/.ssh/id_rsa.pub

2.GitHubに行き、Settingsを選択。
スクリーンショット 2020-08-18 12.57.28.png

3.SSH and GPG keys>SSH keys> New SSH keyを選択。
スクリーンショット 2020-08-18 12.58.57.png

4.Titleに名前をつけて(なんでも良い)、Keyに先ほどコピーした公開鍵を貼り付ける。万が一無駄なスペースなどが入ってしまったら、この時点で削除する。そしてAdd SSH keyボタンを選択する。
スクリーンショット 2020-08-18 13.01.49.png

エラーが出ずに鍵が作成されたら成功。

SSHの疎通確認

1.下記のコマンドを実行し、最後の方に...successfully authenticated...が表示されればSSHの疎通がされたことが確認できる。

$ ssh -T git@github.com

こうして鍵を登録したアカウントの権限があるリポジトリが、操作できるようになる。

参考
https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
https://docs.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account
https://utano.jp/entry/2017/10/amazon-linux-github-ssh-key/

9
7
2

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