ペペロン頭脳

ソフトウェアエンジニアのメモ的なアレ。

認証付きProxy環境下でもSourceTreeでPuTTYなSSH接続を

なんだか認証付きプロキシの記事ばっかりになってきた。
「プロキシサーバーのNTLM認証と戦うブログ」に改名したほうがいいかもしれない。

SourceTree利用のGitHubからのSSH経由クローンができなかった

職場にて「許可を求めるな謝罪せよ」の一環として勝手にGitを導入して使ったりしている。
Gitは基本コンソールからバチバチやるもんだと思うけど、やっぱ生粋のドザーとしては、できるだけGUIでポチポチ操作したいよね。そういうわけで黒い画面が苦手なエンジニアの味方、SourceTreeのお世話になっている。「ワタシハ プログラム チョットワカル」な人に紹介するときもハードル低めでいけるし、何より使いやすい。

でだ。
たまにGitHubからクローンしてきたいプロジェクト、ありますよね。ところが社内からはSourceTree利用のSSH経由クローンが出来なかった。
プロキシのNTLM認証を突破できていないことはわかっていたので、設定を探すが見つからない。SourceTree本体ではHTTP(S)のプロキシ認証情報を設定できるんだけど、SSHは外部クライアントに依存してるので、いくら設定を探しても見つからんのですけどもね。
ちなみにWindows版のSourceTreeにはPuTTYがバンドルされていて、通常はOpenSSHではなくPuTTYを使う設定になる。
いろいろ事例検索しても情報が集まらず、よくわからんなーと諦めていた。
挙句、この辺を参考にしたらコンソールからはSSH(OpenSSH)でプロキシ突破できたのでよしとしていた。

それが去年の春。
で、最近になって改めて調べてみたら、SourceTreeバンドルのPuTTYはフルセットではなく、接続設定などをいじれるツールが同梱されていないことが判明!ようやく解決に漕ぎ着けたのであった。
というわけでツールの追加から設定まで以下に記す。

putty.exeを追加してプロキシサーバーを突破せよ

  • putty.exe をダウンロードする。他のバイナリは不要です。

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

  • putty.exe を以下に配置する(各自の環境に応じて読み替え)
C:\Program Files\Atlassian\SourceTree\tools\putty

Configuration窓が開くので、[Connection]->[Proxy]を開いて情報を入力。
その状態から[Session]セクションに移動、[Default Settings]を選択して[Save]。Cancelで閉じる。
f:id:peperon_brain:20150204180607g:plain

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Default%20Settings

f:id:peperon_brain:20150204175340p:plain

設定は以上。
別途、PuTTY用に鍵ペア用意・GitHubに公開鍵登録・SourceTreeでPuTTY利用の設定ができていれば、SSHGitHubに接続できるはずです。

enjoy!!