WindowsのgitでPermission denied 【公開鍵と秘密鍵を登録する】

Windows版のgitで、git cloneしようとしたところ、以下のようなエラーが出た。

gitbash windows

$ git clone git@github.com:progedu/schedule-arranger-4023.git
Cloning into 'schedule-arranger-4023'...
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.

重要な部分を日本語訳すると

git@github.com:拒否されました (publickey)。
fatal: リモートリポジトリから読み込めませんでした。

みたいな感じ。

 

今までいまいち理解していなかったんだけど、gitコマンドでは

  • HTTP  ・・・何も必要なし
  • HTTPS・・・IDとPWが必要
  • SSH ・・・公開鍵と秘密鍵が必要

の3種類のプロトコルが使えるらしく、今回指定した

git clone git@github.com:progedu/schedule-arranger-4023.git

という形式はSSHでの接続になるらしい。

んで、SSHで接続する場合は、GitHubに公開鍵を事前登録しておく必要があるらしい。

 

なので、以下の手順でGitHubに「公開鍵」を登録する

  1. GitBashにてssh-keygenコマンドで「秘密鍵」と「公開鍵」の2つを作る。
    ssh-keygen(windows)

    • オプションなどを何も入力しなければ、暗号方式=RSA、鍵長=3072bitで設定される(以前までは2024bitだったらしいけど拡張されたらしい)
    • 途中で「Enter passphras」を訊かれるけど、これは作成する「秘密鍵」をさらに共通鍵暗号で暗号化するという意味。何も入力せずにEnterを押すと暗号化されない。
    • 2つの鍵はC:\Users\ユーザー名\.ssh\に作成される。
      windowsでのSSHの鍵の場所
  2. 公開鍵のほうをメモ帳などで開き、その内容をGitHubに登録する。GitHubに公開鍵を登録

 

 

 

これでgit cloneできるようになる。

 

おわり

暗号
スポンサーリンク
この記事を書いた人
penpen

1991生まれ。
2019年くらいからフロントエンドエンジニアを目指している元アフィリエイターです💩

penpenをフォローする
penpenをフォローする
penpenメモ

コメント

タイトルとURLをコピーしました