SourceTree のインストールからSSHの設定まで

SourceTree のインストール

SourceTreeはGit とMercurialを使用できるフリーのクライアントソフトです。継続して使うにはユーザー登録が必要ですが無料で使用できます。公式サイトからダウンロードしてインストールしましょう。

Free Mercurial and Git Client for Windows and Mac | Atlassian SourceTree
http://www.sourcetreeapp.com/

2014-06-23-sourcetree-com

初回起動時に幾つかの諸手続きがあります。後から設定変更は可能なのでさくっと済ませてしまいましょう。

  • Mercurialの実装方法の選択
    自分に合ったものを選択してください。筆者はあとで触れてみようと思うので内臓版を選択しました。
    2014-06-23-soucetree-install--select-mercurial
  • コミットで使用するユーザー情報の設定
    2014-06-23-sourcetree-commit-user-setting
    これは以下のようにコミット時の情報が残ります。
    2014-06-23-simplerohook-commit-info-sample
    なんというか、今までの伏字が無意味になりました;p
  • グローバル無視設定ファイルの作成
    これも必要であれば作成しましょう。個々のリポジトリでも .gitignore ファイルで無視するファイルを設定する事は可能です。2014-06-23-sourcetree-setting-global-ignore-files
  • SSHのモジュールの選択
    特別な理由が無ければデフォルトのPuTTY/Plinkで構いません。
    SSHキーはひとまずNOを選んで読み込まずに行きましょう。
    2014-06-23-select-ssh-module2
  • ホスティングサイービスのアカウントを設定
    自分の持っているアカウントを設定しておきましょう。
    2014-06-23-set-hosting-server-account

設定が終わるとSourceTreeが起動します。SourceTree以外で作った Git リポジトリもフォルダをドロップすることでSourceTreeの管理下に置くことが出来ます。

2014-06-23-include-repos-to-sourcetree

知人にGUIだとこれが最強という事で教えてもらいましたが、確かにこれは使えるツールだと感じました。

 

利便性とセキュリティの向上へ

ここからは、GitHubやBitBucket等のGitホストへよりセキュアにアクセスするための設定を行います。 SourceTreeを使用する事で、既にパスワードの入力からは解放されてはいますが、気密性の面を考えるとやはりSSHでのアクセス経路は確保しておきたいところです。関心のある方は設定して、よりセキュアなアクセスを心がけましょう。

SSH キーの作成

SSHでの認証を行うためには、ホスト側にPublic Key(公開鍵)、クライアント側にPrivate Key(秘密鍵)というようにペアでキー情報を保存する必要があります。まずはキーのペアをクライアント上で作成し、パブリックキーをホスト側へ転送(設定)します。

セットアップ時にPuTTYをインストールした方は、SourceTreeを起動するとタスクトレイに「PuTTY authentication agent」が常駐します。 SSHのキーの管理はこれを利用して行う事になります。

PuTTY タスクトレイ

SourceTreeのツールメニューから「SSH キーの作成/インポート」よりSSH キーの作成が可能です。また、「PuTTY authentication agent」が起動していない場合もここから起動する事が可能です。

SourceTree ツールメニュー

PuTTY Key Generator が起動するので、パラメータを確認後「Generate」ボタンを押してください。

putty key generator

続いて、プログレスバーの下の空白でマウスカーソルを動かします。このマウスのランダム移動がキー作成のハッシュとして使用されます。キーの作成が完了するまで動かし続けて下さい。

SSH キー作成のためのマウスカーソルランダム移動

完了したらPrivate Keyを適当な場所へ保存して下さい。筆者はパスフレーズ無しでGitHub用とBitBucket用の二つのキーを C:\User\usernam\.ssh 以下へ保存しました。ただし、盗難の恐れがあるようなキーにはパスフレーズを付けましょう。この場合、PuTTY agentの起動毎にパスワードの入力が必要になります。

save generate key

 

SSH パブリックキーの登録

パブリックキーに関してはPuTTYで保存したフォーマットではGitHubやBitBucketのサイトが受理してくれないため、Keyの出力フォームから文字列をコピーします。(保存した物を自分で整形しても構いません。ssh-rsaのヘッダを付け、下位行を削除しコメントを末尾に負荷するだけです。)

copy public key from putty

コピーした物をGitHubのダッシュボードのSSH Keysから登録します。

append ssh public key on github01

append ssh public key on github02

BitBucketも同様に処理しましょう。

append ssh public key on bitbucket01

 

SSH プライベートキーの登録

続いてクライアントにプライベートキーを登録します。

タスクトレイの「PuTTY authentication agent」のポップアップメニューより「View Keys」をクリックしてください。

PUTTY タスクトレイ メニュー

このウインドウの「Add Key」「Remove Key」で、キーの登録、解除を行えます。先ほど作成したPrivate Keyをここで登録します。

ssh key list

SourceTreeのオプションから全般タブを選択し、こちらにもプライベートキーの設定します。

ssh client setting

これで準備は完了です。

GitホストへSSHでのアクセス

GitHub、BitBucketはそれぞれスクリーンショットにある箇所をクリックする事で、HTTPSとSSHを切り替えることが出来ます。

ssh へ変更 (github) ssh へ変更 (bitbucket)

 

新規にCloneする場合は以下のように、「元のパス/URL」へSSHのURLを入力します。

SSHを使って新規にClone

また、既存のCloneをSSHでアクセスしたい場合は、リポジトリを開いた状態で設定アイコンをクリックし、ホストの情報を書き換える事で変更が可能です。

2014-07-07-githost-change-access-protocol

パスワードキャッシュが消滅しました

以上を行った事で、筆者のSourceTreeの設定からパスワード情報が一掃されました。ホストごとにパスワードが並び、平文でないにせよパスワードがアクセス毎に流れる事を考えると、精神衛生的にもこの状態は望ましいと考えます。

消えたパスワード

GitGit,sourcetree

Posted by redchat