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生まれ。WEBエンジニア。

技術スタック:TypeScript/Next.js/Express/Docker/AWS

フォローする
フォローする

コメント

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