GIT
【SSH不要】WSL(Ubuntu)でgithubにログインする
公開日:
2022/06/05
【SSH不要】WSL(Ubuntu)でgithubにログインする

はじめまして。新入生のtomoです。はじめて記事を書いてみます。

WSL上で動かしてるnextjsのプロジェクトがあって、それをGitHubのプライベートリポジトリにpushしようとしてちょっとだけ詰まったのでメモ。

TL;DR 単刀直入

Windowsのgitでログインしてればこれで終わりです。

git config --global user.name "githubのユーザー名"
git config --global user.email "メルアド"
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe"

下では過程を話していきます。

環境

OS(Win) : Windows 11 Pro 21H2 (22000.675) Git(Win) : git version 2.33.0 👆更新しろ!!!😠😠 (最新版は5月20日リリースの2.36.1らしいですね、、) OS(WSL) : Linux 5.10.102.1-microsoft-standard-WSL2 Git(WSL) : git version 2.34.1

1戦目 パスワード認証 (失敗)

まず、言われるままにパスワードでログイン

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see [https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/](https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/) for more information.

そりゃ今の時代そんなに甘くないですよね。(しかも2段階認証設定してるし)

2戦目 アクセストークン (失敗、多分僕のミス)

次に言われた通り、GitHubでpersonal access tokenを発行してパスワード入力欄に貼り付けたものの、、、

  1. 覚えてくれない(毎回打たないといけない)
  2. pushしたらなぜか違うユーザー名でコミットされてしまった (多分git config --global user.nameしてないからか?、プライベートレポなのでほかに人はアクセスできないので)

というので失敗しました。

3戦目 (成功、Git credential storeを使う)

調べてみると、マイクロソフトの公式サイトに書いてあるではありませんか!? →できない スタックオーバーフロー君でも同じことが書かれてた。 一番上の解答見てもさっきの同じなので、よくよく考えるとGitのバージョンとかでパス変わってるのでは??と思い、実際にファイルエクスプローラーで調べると、 Git/mingw64/bin/git-credential-manager-core.exeではなく、Git\mingw64\libexec\git-core\git-credential-manager.exeでしたね。 (今思えば、2つ目のとこにLocate git-credential-manager.exeって書いてありますね、はい)

結論!!

いかかでしたか?(これが言いたかっただけ) sshを使うのがめんどそうだったので、Windows側と連携できるようにしました(wslでexe指定できるのは有能) では、よいWSL、Github生活を~!

[あとがき] 部活の記事ってこんなんでええんかな、、(小声)

loading...