GitのpushコマンドでPermission denied (publickey).エラーが発生

発生した問題

いつも通りステージングとコミットが完了したので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.

解決策

結論からいうと、SSH接続の設定をすることで解決できました。

手順

  1. 「~/.ssh」ディレクトリ内で、以下コマンドを実行し、sshキー(公開鍵・秘密鍵)を生成する
  2. ssh-keygen -t rsa -C [GitHubメールアドレス] -f [作成する鍵の名前]

    上記のコマンドを実行すると、二つのファイルが生成されます。

    • 作成する鍵の名前・・・秘密鍵
    • 作成する鍵の名前.pub・・・公開鍵
  3. GitHubにログインして画面右上のプロフィールアイコンを押したのち、「Settings」ボタンを押してください。
  4. 開かれたページの左側にある「SSH and GPG keys」を押下して開いてください。
  5. 新規でSSH keysの設定を作成してください。
  6. 手順①で生成したファイルに拡張子「.pub」がついているファイルがあるので、中身をコピーして以下画像の赤枠内に貼り「Add SSH key」ボタンで登録することができます。
  7. 登録後に以下コマンドで接続テストを行ってください。
    ssh -T git@github.com

以下のようなメッセージが返ってきたら接続テストOKとなります。

Hi [username]! You've successfully authenticated, but GitHub does not provide shell access.

最後にpushを行って完了です。

git push origin branch