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/
インストールの際は、以下のように進めてください。
▶ Gitのインストール方法(Windows版):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への認証を行うための設定を行います。
以下のコマンドを実行してください。
ここのUserName
とUserEmail
は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側の環境変数を設定します。
以下の手順で設定を行ってください。
-
システム環境変数の編集を開きます。
- Windowsのスタートメニューから「環境変数」と検索し、「システム環境変数を編集」を選択します。
- システムのプロパティが、詳細設定タブで開きます。
-
環境変数をクリックします。
- 右下にある「環境変数(N)...」をクリックします。
-
[UserName]のユーザー環境変数(U) の中の Pathを選択し、**編集(E)**をクリックします。
- 右上の**新規(N)**をクリックします。
- 以下の2つのパスを追加します。
C:\Users\[UserName]\AppData\Local\Microsoft\WindowsApps\ C:\Users\[UserName]\AppData\Local\Microsoft\WSL\bin
-
OKをクリックして、すべてのダイアログを閉じます。
-
PCを再起動します。
これで、Ubuntu側からWindows側のGCMを利用できるようになります。
4 GitHubのPersonal Access Tokenの発行
次に、GitHubのPersonal Access Tokenを発行します。
私はここで他の人の記事を見なが「その設定どこだよ!」と思いながら進めました
できるだけ、詳細に記載します。(2025/08/18時点)
- GitHubにログインします。
- 右上のプロフィールアイコンをクリックし、上から6割ほどにあるSettingsをクリックします。
- 左側のメニューの一番下にあるDeveloper settingsをクリックします。
- また、左側のメニューの一番下(
3つしかありませんが)にあるPersonal access tokensをクリックします。 - 2つタブがありますが、下の**Tokens (classic)**をクリックします。
- 右上のGenerate new tokenをクリックします。
- 同じく2つタブがありますが、下の**Generate new token (classic)**をクリックします。
-
Noteに任意のトークンの名前を入力します。(例:
ubuntu-git-token
) - Expirationで任意の有効期限を設定します。大体プロジェクトの期間に合わせて設定するのが良いと思います。(長すぎるとセキュリティ的に良くないので注意)
-
Select scopesで、以下の権限を選択します。
-
repo
(リポジトリへのフルアクセス) <-これは開発するなら必須です。 - その他の権限は、必要に応じて選択してください。
-
- 一番下に行きGenerate tokenをクリックし、トークンを作成します。
- 作成されたトークンをコピーします。
- 注意:このトークンは、後で再度表示することができないので、必ずコピーしておいてください。
- 注意:このトークンは他人に知られないように注意してください。あなたの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を使うようにして初回の認証でパーソナルアクセストークンを入力するだけで済むようにしてほしいですね。
いつかはそうなるのかな?
少し長くなりましたが、最後まで読んでいただきありがとうございます。
でわでわ〜👋
参考
Discussion