GitHubからプライベートリポジトリをクローンする方法【WSL】
この記事にはPRを含みます

目次
GitHubでプライベートリポジトリをクローンしようとして、以下のようなエラーに遭遇しました。
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
これは、GitHubが2021年8月13日にパスワード認証を廃止したために発生するエラーです。
今回は、WSL環境でSSH接続を設定して、安全にプライベートリポジトリをクローンする方法を紹介します。
なぜSSH接続がおすすめなのか?
SSH接続には以下のメリットがあります:
- セキュリティが高い: 公開鍵暗号方式を使用
- 利便性: 一度設定すれば、パスワード入力が不要
- 安定性: Personal Access Tokenのように期限切れがない
それでは、実際の設定手順を見ていきましょう。
手順1: SSH鍵ペアの生成
まず、WSLのターミナルを開いて、SSH鍵ペアを生成します。
ssh-keygen -t ed25519 -C "[email protected]"
ポイント:
[email protected]
の部分は、GitHubに登録しているメールアドレスに置き換えてくださいed25519
は現在推奨されている暗号化アルゴリズムです
コマンドを実行すると、以下のような対話式の質問が表示されます:
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/username/.ssh/id_ed25519):
通常はデフォルトのパス(そのままEnter)で問題ありません。
次にパスフレーズの設定を求められます:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
セキュリティを高めたい場合はパスフレーズを設定しますが、利便性を重視する場合は空白のままでも構いません。

手順2: GitHubに公開鍵を追加
生成されたSSH鍵ペアのうち、公開鍵をGitHubに登録します。
2-1. 公開鍵の内容をコピー
cat ~/.ssh/id_ed25519.pub
このコマンドで表示された内容全体をコピーします。ssh-ed25519
から始まり、最後にメールアドレスで終わる1行の文字列です。

2-2. GitHubの設定画面で公開鍵を追加
- GitHubにログインし、右上のプロフィールアイコンから「Settings」を選択
- 左サイドバーから「SSH and GPG keys」を選択
- 「New SSH key」ボタンをクリック
- 以下の項目を入力:
- Title: 識別しやすい名前(例:「WSL Ubuntu」「Personal Laptop」など)
- Key: 先ほどコピーした公開鍵の内容を貼り付け
- 「Add SSH key」ボタンをクリック
設定後は以下のようになります。

手順3: SSH接続のテストと設定
3-1. SSH鍵のファイル権限を設定
WSLでは、SSH鍵のファイル権限が正しく設定されていないとエラーになることがあります。以下のコマンドで適切な権限を設定しましょう:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
3-2. SSH接続のテスト
GitHubとの接続が正常に動作するかテストします:
ssh -T git@github.com
初回接続時は、以下のような確認メッセージが表示されます:
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
yes
と入力してEnterを押してください。
成功すると、以下のようなメッセージが表示されます:
Hi [あなたのGitHubユーザー名]! You've successfully authenticated, but GitHub does not provide shell access.

プライベートリポジトリのクローン
SSH設定が完了したら、SSH URLを使ってプライベートリポジトリをクローンできます:
git clone git@github.com:username/repository-name.git
注意: HTTPS URLの代わりに、SSH URL([email protected]:
で始まるURL)を使用することが重要です。
トラブルシューティング
パーミッションエラーが出る場合
# SSH鍵のファイル権限を再設定
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
ssh-agentが必要な場合
パスフレーズを設定した場合は、ssh-agentを使用すると便利です:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
まとめ
WSL環境でのSSH設定は、以下の3つのステップで完了します:
- SSH鍵ペアの生成:
ssh-keygen
コマンドで鍵を作成 - GitHubに公開鍵を追加: GitHub設定画面で公開鍵を登録
- 接続テスト:
ssh -T [email protected]
で動作確認
一度設定してしまえば、パスワード入力なしで安全にプライベートリポジトリにアクセスできるようになります。ぜひ試してみてください!