Help us understand the problem. What is going on with this article?

GitHubの二段階認証が有効な環境でSourceTreeを使う

More than 3 years have passed since last update.

セキュリティ上の観点からGitHubの2段階認証を有効にしている方はいらっしゃるかと思います。しかし、この設定ではGitの認証が通らないためSourceTreeのアカウント認証がうまく行えない問題が発生します。ここではGitHubの2段階認証を有効にしている環境でも正常にSourceTreeを使えるようにします。要は自分がやらかしたのでメモとして残しているだけです。

1. トークンを発行する

簡単に言うとこのステップでトークンと呼ばれるパスワードの代替となる文字列を発行し、この文字列をSourceTreeで使用します。Googleアカウントでも似たようなものがありますね。

GitHubにログインしてアカウント設定画面を開き、Personal access tokensをクリックします。
ScreenShot1

Generate new token(新しいトークンを作成)をクリックします。

トークンの作成画面が開きます。Descriptionには分かりやすい名前をつけておきましょう。SourceTreeをインストールした端末の名前などお好きなもので構いません。
どこまでのアクセスを許容するかを指定しますが、repoとuserにチェックを入れます。これがミソです!
スクリーンショット_2017-01-10_15_19_56.png

最後に、画面下部の

をクリックしてトークンを作成します。

トークンが生成されると謎の文字列が表示されます。この文字列は一度しか表示されないため、一通り作業が終わるまではこのまま開いておくべきです。(一通り作業が終わったら忘れて構いません。覚えていてもムダになるだけです。)

もし何らかの理由で失ってしまった場合は再度発行したらオッケーです。

2. 発行したトークンでアカウントをリンクする

:apple:macOSの場合

歯車のアイコンをクリックし、Accounts...を選択してアカウント設定画面を開きます。
スクリーンショット_2017-01-10_14_38_37.png

左下の[Add...]をクリックし、次のように入力します。

  • ホストはGitHubを選択
  • Auth TypeはBasicを選択
    • もしOAuthが使えるならおそらくこの記事は読む必要がありません
  • ユーザー名はGitHub IDを入力
  • パスワードに先ほどのトークンを入力

スクリーンショット 2017-01-10 15.28.46.png

できたー!!✌('ω')✌三✌('ω')✌三✌('ω')✌
スクリーンショット 2017-01-10 15.37.41.png

これで、プライベートリポジトリを含む全てのリポジトリにアクセスできるようになりました!お疲れ様でした。

:frame_photo:Windowsの場合

  1. [新規・クローンを作成する]をクリックします。
  2. :earth_asia:をクリックします。

スクリーンショット (356).png

  1. クローンできるリポジトリのリストが表示されます。[アカウントを編集]をクリックします。
  2. ホストアカウントの一覧が表示されます。[追加]をクリックします。
  3. ホスティングサービスにGitHubを選択します。
  4. ユーザー名はGitHub IDを入力します。入力後少しだけ待つとログイン画面が表示されます。

スクリーンショット (358).png

このパスワード欄に先ほどのトークンを入力して[Login]をクリックします。
スクリーンショット (360).png

できたー!!✌('ω')✌三✌('ω')✌三✌('ω')✌
スクリーンショット (361).png

プライベートリポジトリを含んだ全てのリポジトリが表示されていますね!お疲れ様でした。
スクリーンショット (362).png

MATTENN
アストルフォになりたいエンジニアです。PHPが主食です。
https://mattenn.fkgt.net
mohikanz
エンジニアのための雑談コミュニティ
https://mohikanz.slack.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away