🐙

Ubuntu(windowsのwsl)でGCMを使ってGitHubのPersonal Access Tokenを設定する

に公開

👣 はじめに

今までユーザー名/メアドでGitHubにアクセスしていましたが、セキュリティの観点からPersonal Access Tokenを使うように変更されていました。
そこで、アクセストークンを発行して、GitHubのリポジトリにアクセスできるように設定したのですが、毎度入力を求められたのでGCMを使うことで解決しました。

その際に、少し詰まったので備忘録として残しておきます。

💿 環境

OS:windows 11Pro
Git:2.50.1.windows.1
WSL:2.4.11.0

Distro:Ubuntu 20.04 LTS
Git:2.50.1


😇 ざっくり解説

Ubuntu側からWindows側のGCMを利用して、GitHubへの認証を行うことで解決します。
初回のパーソナルアクセストークン入力でその後は自動的に認証されるようになります。

Ubuntu側
$ git config --global user.name "[UserName]"
$ git config --global user.email "[UserEmail]"
$ git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe" 
 
Windows側

システム環境変数の編集
-> 環境変数
-> [UserName]のユーザー環境変数 / Path | 編集
-> 新規
-> 以下のパスを追加

C:\Users\[UserName]\AppData\Local\Microsoft\WindowsApps\
C:\Users\[UserName]\AppData\Local\Microsoft\WSL\bin

そして再起動🔄

認証実行

git push // githubに接続できればなんでもOK

GCMが起動するのでTokenを選択、パーソナルアクセストークンを入力し認証

これで完了です。


📄 設定

上記でざっくりとした設定方法を説明しましたが、もう少し詳しく解説します。

0 GitHubのアカウント登録

一応確認ですが、GitHubのアカウントを持っていない場合は、GitHubのアカウント登録を行ってください。

1 Windows側のGit, GCMのインストール

まずは、Windows側にGitとGCMをインストールします。

以下のURLからインストールしてください。
▶ Git for Windows:https://gitforwindows.org/
https://gitforwindows.org/

インストールの際は、以下のように進めてください。

▶ Gitのインストール方法(Windows版):https://qiita.com/takeru-hirai/items/4fbe6593d42f9a844b1c
https://qiita.com/takeru-hirai/items/4fbe6593d42f9a844b1c

この時VScodeをインストールしておかないと
Choosing the default editor used by Git

の設定を

Use Visual Studio Code as Git’s default editor

で進むことができません

インストールが完了したらOKです。
GCMもGitをインストールするとデフォルトでインストールされます。

1.5 WSL側のGitのインストール

この記事を読んでいる方は、WSL側にGitがインストールされていると思いますが、念のため記載しておきます。

WSL側のGitは、以下のコマンドでインストールできます。

$ sudo apt install git

以下のコマンドでバージョンを確認して、インストールされていることを確認してください。

$ git --version

2 Ubuntu側のGitの設定

Ubuntu側からWindows側のGCMを利用して、GitHubへの認証を行うための設定を行います。
以下のコマンドを実行してください。

ここのUserNameUserEmailはGitHubの登録したものを使用してください。

$ git config --global user.name "[UserName]"
$ git config --global user.email "[UserEmail]"
$ git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe"
バージョンごとのコード

gitのバージョン >= v2.39.0

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe"

v2.39.0 > gitのバージョン >= v2.36.1

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"

gitのバージョン < v2.36.1

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager-core.exe"

これでUbuntu側のGitの設定は完了です。

3 Windows側の環境変数の設定

次に、Windows側の環境変数を設定します。
以下の手順で設定を行ってください。

  1. システム環境変数の編集を開きます。

    • Windowsのスタートメニューから「環境変数」と検索し、「システム環境変数を編集」を選択します。
    • システムのプロパティが、詳細設定タブで開きます。
  2. 環境変数をクリックします。

    • 右下にある「環境変数(N)...」をクリックします。
  3. [UserName]のユーザー環境変数(U) の中の Pathを選択し、**編集(E)**をクリックします。

    • 右上の**新規(N)**をクリックします。
    • 以下の2つのパスを追加します。
      C:\Users\[UserName]\AppData\Local\Microsoft\WindowsApps\
      C:\Users\[UserName]\AppData\Local\Microsoft\WSL\bin
      
  4. OKをクリックして、すべてのダイアログを閉じます。

  5. PCを再起動します。

これで、Ubuntu側からWindows側のGCMを利用できるようになります。

4 GitHubのPersonal Access Tokenの発行

次に、GitHubのPersonal Access Tokenを発行します。
私はここで他の人の記事を見なが「その設定どこだよ!」と思いながら進めました
できるだけ、詳細に記載します。(2025/08/18時点)

  1. GitHubにログインします。
  2. 右上のプロフィールアイコンをクリックし、上から6割ほどにあるSettingsをクリックします。
  3. 左側のメニューの一番下にあるDeveloper settingsをクリックします。
  4. また、左側のメニューの一番下(3つしかありませんが)にあるPersonal access tokensをクリックします。
  5. 2つタブがありますが、下の**Tokens (classic)**をクリックします。
  6. 右上のGenerate new tokenをクリックします。
  7. 同じく2つタブがありますが、下の**Generate new token (classic)**をクリックします。
  8. Noteに任意のトークンの名前を入力します。(例: ubuntu-git-token)
  9. Expirationで任意の有効期限を設定します。大体プロジェクトの期間に合わせて設定するのが良いと思います。(長すぎるとセキュリティ的に良くないので注意)
  10. Select scopesで、以下の権限を選択します。
    • repo (リポジトリへのフルアクセス) <-これは開発するなら必須です。
    • その他の権限は、必要に応じて選択してください。
  11. 一番下に行きGenerate tokenをクリックし、トークンを作成します。
  12. 作成されたトークンをコピーします。
    • 注意:このトークンは、後で再度表示することができないので、必ずコピーしておいてください。
    • 注意:このトークンは他人に知られないように注意してください。あなたのGitHubアカウントにアクセスできるトークンなので、他人に知られると大変なことになります。

これで、GitHubのPersonal Access Tokenの発行は完了です。

5 Ubuntu側でのGitHubへの接続

最後に、Ubuntu側でGitHubへの接続を確認します。
以下のコマンドを実行してください。

$ git push // githubに接続できればなんでもOK

実行すると、GCMのタブが起動すると思います。
タブの右側のTokenを選択し、先ほどコピーしたパーソナルアクセストークンを入力して、認証します。

認証が成功すると、GitHubへの接続が確認できたと思います。

再度、ファイルを変更するなどしてgit pushなどのgithubへの接続を試みてください。
その際に、認証を求められなければ成功です🎉🎉🎉

😕 うまくいかない場合

私も遭遇したのですが、Gitのバージョンが古い場合、うまくいかない場合があります。
その場合は、以下のコマンドでGitをアップデートしてください。

$ sudo apt update
$ sudo apt upgrade git

これでもうまくいかない場合は、以下のコマンドでUbuntuのディストリビューションでは取得できないバージョンを取得します。

$ sudo add-apt-repository ppa:git-core/ppa
$ sudo apt update
$ sudo apt install git

多分これで解決するはずです。

再度、認証を試みてください。


🍛 お疲れ様でした

今回は、Ubuntu(wsl)でGCMを使ってGitHubのPersonal Access Tokenを設定する方法について解説しました。
これで、毎回ユーザー名とアクセストークンを入力せずに済みます...💧

確かにセキュリティ的にユーザー名/メアドでの認証は危険だとは思いますが、こんな設定をしないといけないのは面倒ですねぇ。
変更するなら、デフォルトでGCMを使うようにして初回の認証でパーソナルアクセストークンを入力するだけで済むようにしてほしいですね。
いつかはそうなるのかな?

少し長くなりましたが、最後まで読んでいただきありがとうございます。

でわでわ〜👋

参考

https://gitforwindows.org/

https://qiita.com/takeru-hirai/items/4fbe6593d42f9a844b1c

https://learn.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-git

Discussion