以前、WSLでGitHubにSSH接続する記事を紹介しました。

今回は、同じようにWindowsでもGitHubとSSHで連携できるように環境を準備します。
WindowsでもSSHが利用できるため、WSLと同じ鍵を使ってGitHubへ接続することが可能です。
Pythonで実行ファイルを作る際はWindowsで操作する場面が多いため、Windows環境でもGitHubと連携できる状態にしておくと開発が進めやすくなります。

この記事では、WindowsでGitHubへSSH接続するまでの流れを紹介します。
この記事は2025年11月に確認した内容です。

この記事で分かること

  • Git for Windowsの導入方法
  • SSH鍵の作成またはWSL鍵のコピー手順
  • GitHubへの公開鍵登録・接続確認
  • Gitの基本設定
  • リポジトリのクローン、VSCodeで開くまでの流れ

Git for Windowsのインストール

GitをWindowsで使うために、Git for Windowsを導入します。
下記のGit for Windows公式サイトからダウンロードしたインストーラーを実行します。
セットアップ時はデフォルト設定のまま進めば問題ありません。

インストール後、コマンドプロンプトまたはPowerShellを開き、バージョンが表示されるか確認します。

git --version
# 次のようにバージョンが表示されればインストールは完了です。
git version 2.51.0.windows.2

SSH鍵の準備

GitHubはSSH接続を推奨しているため、SSH鍵を準備します。
SSH鍵がない場合、Windowsで作成、WSLにSSH鍵を作成している場合、コピーして使い回すことができます。

WindowsでSSH鍵を作成する

コマンドプロンプトまたはPowerShellを開いて次のコマンドを実行します。
実行の途中でパスフレーズの入力が求められますが、設定は任意です。
安全性を高めたい場合はパスフレーズを設定するとよいですが、作業効率を優先するなら省略しても大丈夫です。
「your_email@example.com」の箇所は利用するメールアドレスに置き換えてください。

ssh-keygen -t ed25519 -C "your_email@example.com"

WSLで作成した鍵をWindowsへコピーする

WSLで作成済みの鍵をWindowsのユーザーフォルダへコピーします。
私はこの方法でGitHubと連携できるように設定しています。
手順は次の通りです。

コマンドプロンプトを起動してユーザーフォルダ配下で次のコマンドを実行します。
ユーザーフォルダはc:\Users\<Username>(<Username>は自分のユーザー名に置き換えてください。)

mkdir .ssh

自分のユーザー名は、コマンドプロンプトで起動して次のコマンドで確認できます。

echo %USERNAME%

WSLを起動した後、WSL上で次のコマンドを実行します。
(<Username>は自分のユーザー名に置き換えてください。)

cp ~/.ssh/id_ed25519 /mnt/c/Users/<Username>/.ssh/
cp ~/.ssh/id_ed25519.pub /mnt/c/Users/<Username>/.ssh/

これでGitHubと接続できるようになりますが、秘密鍵が簡単にコピーできてしまうので、セキュリティを高めたい場合、次の設定を行ってください。

PowerShellを起動して次のコマンドを実行します。

icacls "$env:USERPROFILE\.ssh\id_ed25519" /inheritance:r
icacls "$env:USERPROFILE\.ssh\id_ed25519" /grant:r "$($env:USERNAME):(R)"

SSHエージェントの設定

パスフレーズを設定した鍵を使う場合、毎回パスフレーズを求められるため、そのまま運用すると手間が増えます。
SSHエージェントを設定すると、最初の一度だけパスフレーズを入力すれば、その後は入力が不要になります。
パスフレーズを設定した場合はSSHエージェントを利用する構成がおすすめです。
手順は次の通りです。

PowerShellを管理者で開きます。

Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent

次のコマンドを実行して鍵を登録します。

ssh-add $env:USERPROFILE.ssh\id_ed25519

登録後、次のコマンドで登録済みか確認できます。

ssh-add -l

GitHub に公開鍵を登録する

公開鍵をGitHubに登録します。
具体的な画面操作はWSL版の記事と同じため、次の記事を参考に登録してください。

GitHubの「SSH and GPG keys」で「New SSH key」を選び、コピーした公開鍵を貼り付けます。
登録すればWindowsからSSHでアクセスできるようになります。

接続確認

コマンドプロンプトまたはPowerShellを開いて次のコマンドを実行し、SSH接続が正しく行えるか確認します。

ssh -T git@github.com

GitHubから次のようなメッセージが返れば接続は成功です。

The authenticity of host 'github.com (20.27.177.113)' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

Gitのconfigの設定

GitHubに接続できたらGitの設定を行います。
これはWSLで設定した内容と同じ構成で問題ありません。
改行コードやfast-forward設定など、安定した運用のために必要な項目です。
具体的な設定は次の記事で紹介しています。

リポジトリのクローン

SSH URLを利用してリポジトリを取得します。
コマンドプロンプトまたはPowerShellを開いて次のコマンドを実行し、GitHubのリポジトリを取得します。
username、yourrepositoryは使用しているユーザー、リポジトリ名に置き換えてください。

git clone git@github.com:username/yourrepository.git
Cloning into 'yourrepository'...

クローンが成功すれば、Windows側でもGitHubのプロジェクトを扱えます。

VSCodeで開いて確認する

cloneしたフォルダをVSCodeで開くと、ソース管理メニューに変更点が一覧表示されます。
コミットや差分確認を視覚的に行えるため、GitHubの操作がより扱いやすくなります。
Pythonのコード編集にも向いており、開発作業を集中して進められる環境になります。

まとめ

WindowsでGitHubへSSH接続するには、Git for Windowsを導入し、鍵を作成またはコピーしてGitHubに登録する手順で環境を構築できます。
接続確認やGit設定を済ませておけば、リポジトリのcloneやVSCodeでの編集にもスムーズに進めます。
Pythonの開発や実行ファイル作成をWindowsで行う際にも、この環境が役に立ちます。
PyInstallerを使った実行ファイルの作成方法は、次の記事にまとめていますので参考にしてください。