githubのID&Passwordでアクセスできない件
はじめに
githubへのアクセスで毎回コマンドを使用している方は、昨年7月には気がついたものと思います。
お恥ずかしい話なのですが、WindowsやMacでもSourcetreeを使っていて、Windowsは何をどうしたのか覚えていませんが、Bitbucket経由でのOAuth認証で今まで利用出来ていました。
今回、MacでもSourcetreeを使って認証しようとしても、原因はよく分かってませんが、Bitbucket経由でのOAuth認証でのアクセスにしたのですが、既にWindows PCで設定しているためなのかMacでは無理でした。
試行錯誤を繰り返し、備忘録として記載します。
原因
開発する時 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の作成
clone するアカウントで githubにログインする
右上のアイコンから Settings → Developer settings → Personal access tokensを選択
右上のGenerate new tokenを押す
ログインパスワードを入力
Noteには後でわかるような文字を記入する
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で振り回されたという経緯。
うーん、反省反省。
この記事が気に入ったらサポートをしてみませんか?