LoginSignup
1
2

More than 1 year has passed since last update.

GithubとSourceTreeの二段階認証の方法

Last updated at Posted at 2022-09-16

背景

今まで各個人のGitHubアカウントを使用していましたが、会社でまとめてGitHubアカウントを購入しようということになりました。
GitHub EnterPriseを購入した結果、SourceTreeで出来ていたプッシュやフェッチなど全ての操作が出来なくなりました。
どうやら色々調べた結果、認証方法が二段階認証に変更になったことが原因らしい。
SourceTreeで二段階認証を行うためにはどうすればいいかを試行錯誤し、実際に行った結果をまとめます。

前提

この作業を行った時点のSourceTreeのバージョンは「3.4.9.0」でした。

目次

手順

1. SourceTreeでの作成

1. 公開鍵と秘密鍵を作成する

  1. ターミナルを開く

  2. 以下のコマンドを実行する

    ssh-keygen -t rsa -C [コメント(メールアドレスとか何でも良い、空でも良い)]
    
  3. 保存場所を聞かれるので問題なければEnter

  4. パスワードを2回入力する ※必ず覚えておくこと

  5. 3の保存場所に公開鍵、秘密鍵が作成される
    ・id_rsa   : 秘密鍵
    ・id_rsa.pub : 公開鍵

  6. 秘密鍵のアクセス権を設定する
    cd~は公開鍵/秘密鍵フォルダに移動するためのコマンドなので、
    既に移動している場合は不要

    cd ~/.ssh 
    chmod 600 id_rsa
    

2. configファイルの作成

  1. 以下のコマンドを実行する
    ssh-agentに鍵を登録しないと、SourceTreeが正常に鍵情報を読み込んでくれない模様

    eval `ssh-agent`
    ssh-add ~/.ssh/id_rsa
    
  2. configファイルを作成する

    touch config
    
  3. 2のconfigファイルをテキストファイルで開き、以下を記載する

Host github.com
  HostName github.com
  IdentityFile ~/.ssh/id_rsa
  User git

2. GitHubでの登録

1. 公開鍵の登録

  1. ユーザーの「Settings」をクリックする

  2. 「SSH and GPG keys」をクリックする

  3. 「New SSH key」をクリックする

  4. 「Title」と「Key」を入力し、「Add SSH key」をクリックする
    ・Title : 任意のタイトル
    ・Key  :「id_rsa.pub」(公開鍵)の内容をコピペする

  5. 作成した鍵の「Configure SSO」をクリックし、「Authorize」ボタンをクリックする
    「Authorize」を既に行っている場合、「Deauthorize」になる

3. SourceTreeでの設定

1. RepositoryのURLを変更する

  1. 「設定」をクリックする

  2. 変更したいRepositoryをクリックし、「編集」ボタンをクリックする

  3. GitHubで対象のRepositoryを開き、SSHのURLをコピーする

  4. 3でコピーしたURLをペーストし、OKボタンをクリックする

2. PuTTy/Pliknキーを作成する

  1. 「ツール」⇒「オプション」をクリックする

  2. SSHクライアントを「PuTTY/Plink」に変更して、「OK」ボタンをクリックする

  3. 「ツール」⇒「SSHキーの作成/インポート」をクリックする

  4. 「Load」ボタンをクリックする

  5. 「All Files」を選択後、「id_rsa」を選択し、「開く」ボタンをクリックする

  6. 秘密鍵のパスワードを入力する

  7. 「OK」ボタンをクリックする

  8. 「Save private key」ボタンをクリックする

  9. 任意のファイル名をつけて「保存」ボタンをクリックする

  10. 「ツール」⇒「SSHエージェントを起動…」をクリックする

  11. 「OK」ボタンをクリックする

  12. 右下のツールバーから「SSHエージェント」をダブルクリックする

  13. 「Add Key」ボタンをクリックする

  14. 9で作成したファイルを選択し、「開く」ボタンをクリックする

    以下のエラーが発生した場合

     
    以下の設定をした状態で手順4に戻り、PuTTY用の公開鍵を作成する

    1. Parameters for saving key files」をクリックする

    2. 「PPL file version」で「2」を選択し、「OK」ボタンをクリックする

    3. 「Load」ボタンをクリックする】から再度行う

  15. キーが追加されたことを確認し、画面を閉じる

  16. 「ツール」⇒「オプション」をクリックする

  17. 「SSHクライアントの設定」を確認する
     ・SSHキー
      ⇒ 9で作成したファイルを選択する
     ・SSHクライアント
      ⇒ PuTTY/Plinkを選択する
     

4. コマンドプロンプト実行

1. plink.exeの登録

  1. コマンドプロンプトを起動する

  2. 以下のコマンドを入力する

    "C:\Users\XXXXXXXX\AppData\Local\SourceTree\app-3.4.9\tools\putty\plink.exe" -ssh -C -i "C:\Users\XXXXXXXX\.ssh\id_rsa.ppk" git@github.com
    

    ・C:\Users\XXXXXXXX\AppData\Local\SourceTree\app-3.4.9\tools\putty\plink.exe
     ⇒ plink.exeのファイルパスを設定する
    ・path\to\private\key.ppk
      ⇒ 【3-2. PuTTy/Pliknキーを作成する】で作成した「.ppk」のファイルパスを設定する

  3. 下記メッセージが表示された場合は「y」を入力する

  4. 下記メッセージが表示されれば登録完了

5. SoureTreeの再起動

1. パスワード入力欄の起動

  1. SourceTreeも再起動する
    2のパスワード入力欄が表示されないようであればPCを再起動する

  2. SoureTreeを起動した際、以下のパスワード入力欄が表示されれば問題なし
     

参考URL

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2