見出し画像

githubのID&Passwordでアクセスできない件

はじめに

githubへのアクセスで毎回コマンドを使用している方は、昨年7月には気がついたものと思います。
お恥ずかしい話なのですが、WindowsやMacでもSourcetreeを使っていて、Windowsは何をどうしたのか覚えていませんが、Bitbucket経由でのOAuth認証で今まで利用出来ていました。

今回、MacでもSourcetreeを使って認証しようとしても、原因はよく分かってませんが、Bitbucket経由でのOAuth認証でのアクセスにしたのですが、既にWindows PCで設定しているためなのかMacでは無理でした。
試行錯誤を繰り返し、備忘録として記載します。

原因

2021年8月13日以降、GitHub.comでGit操作を認証する際にアカウントパスワードを使用できなくなります
影響を受けるワークフロー
・コマンドラインGitアクセス
・Gitを使用するデスクトップアプリケーション(GitHubデスクトップは影響を受けません)
・パスワードを使用してGitHub.comのGitリポジトリに直接アクセスするアプリ/サービス

github blog Google翻訳

開発する時 pull や push するのだけれど、それをSourcetreeに任せていたような人が影響を受けることになる。

対象方法

いくつかあるので余計に考える必要が出てくる。

  • SSHキーを作って利用する(SourcetreeのSSHアクセスだとrsaでSSHキーを作っていないと、認識しない罠があった)

  • GitHub Appsを作成し登録し、そのアプリ経由にする(作る手間が必要)

  • OAuthサービスを利用する(自分でOAuthサービスを作ってgithub連携するとかが該当する)

  • Personal Access Tokenを作る(Bitbucketサーバ経由ではこれが自動で作られていたが、別PCだとダメっぽくて断念)

Sourcetreeを諦めようと思っていたのだけれど、最終的にはPersonal Access Tokenで逃げた。

Personal Access Tokenの作成

  1. clone するアカウントで githubにログインする

  2. 右上のアイコンから Settings → Developer settings → Personal access tokensを選択

  3. 右上のGenerate new tokenを押す

  4. ログインパスワードを入力

  5. Noteには後でわかるような文字を記入する

  6. Select scopes の repo をチェックを入れ、後は必要そうなのを選択します。不明ならrepoのみでもOKな気がします。

上記手順で作成したtokenですが、作成直後はtokenの値が表示されていて、コピーして利用することになります。しばらく?するとNoteで書いた内容に変わるので、token が不明になると再作成することになります。

Personal Access Tokenの利用

git clone コマンドを利用する際、https://xxxxxxxx.github.com/yyyy/zzzz を利用する場合は以下の通りです。

git clone https://{アカウント}:{token}@xxxxxxxx.github.com/yyyy/zzzz 

この便利な所は、既存のURLを変更するだけで対応可能になるという点でしょうか。Sourcetreeだと、Repogitoryの設定→リモート→originを選択して編集ボタンでURLを上記のように修正するだけで対応できます。

サーバ側でソースを取ってくる場合のコマンドを打つ時も同様ですね。
tokenは期限付きやカスタム設定、無期限等選択できます。

SSHだと、速度がやや遅くなるのでっていう方はこちらを推奨しますが。
まぁ、今更な感がありますよね。
色々調べるていると、色んな罠があちこちにあって良く読まないと、かなり徒労する羽目にあります。

私の場合、メンテナンスのためにiOSアプリソースを見ようとして、Macを久々に起こしてってことでトラブルに遭遇。今まで適当にしか見ていなかったもので、Sourcetreeで振り回されたという経緯。
うーん、反省反省。

この記事が気に入ったらサポートをしてみませんか?