SourceTree

Tips : SourceTree for Windows で SSH key を登録しても認証に失敗する

More than 5 years have passed since last update.

Gitクライアントには、主にSourceTree for Windowsを使用しています。
そのSourceTreeで引っ掛かった落とし穴を残します。

追記

@kyanro@githubさんよりコメント頂きました。
0.9.1.1beta以降では起動時に自動でPageantを起動する設定が可能になっているとのことです。

対処

Tools > Options > Generalの中に、Automatically start SSh agent when SourceTree opensという項目があるので、これにチェックを入れる。実にシンプル。

おまけ

また、当初この記事はバージョン0.9.1.1についての記事として投稿しましたが、どうやらそれが間違っていたようです。(なぜなら、上記設定は0.9.1.1で既に追加されていたから)
混乱を招く記述をしてしまい申し訳ありませんでした。

このような勘違いをした経緯としては、
1. Help > About を見ても、Versionに x.x.x.x としか表記されない
2. Help > Check For Updates を見ても、Current Versionが空欄
3. Help > Check For Updates のLastest Updates が0.9.1.1 betaであった
4. Help > Check For UpdatesUpdate Now ボタンがdisable
という事からでした。

自動アップデートが使用不可なので、公式よりインストーラをダウンロードしインストールすることで正常にアップデートし、Help > AboutHelp > Check For Updates のVersionも表示されるようになりました。

私と同じ状況にある方はどんどん更新から取り残されていっているので、是非手動更新しましょう。設定周りが色々と新しくなってますよ。

元の記事

現象

SSH鍵をputtyで作成しTools > Options > General > SSH Keyに登録したのに認証できない。

原因

Pageant(ページェント)が起動していなかった。
Pageantとは、Puttyに付属しているSSH認証の仲介を担当するアプリケーション。
起動している場合には、タスクトレイに帽子かぶったPCのアイコンが出る。
SourceTreeから起動するには、Tools > Launch SSH Agent (Pageant)から出来る。

どうやら、こいつはパスフレーズのスキップをしてくれているらしいです。
多分、ppkファイルをOptionsで設定しただけではパスフレーズ入力の箇所で引っ掛かってるんじゃないかと思ってます。

一度起動するとずっと常駐していますが、Windowsを再起動する際にはその度にPageantを起動し直す必要があります。
面倒であれば、スタートアップに入れておくなどの一手間が必要です。
SourceTreeが起動する時に一緒に起動してくれるといいんですが。