msysgit + pageant (PuTTY) で GitHub


最近 Bitbucket と並行して GitHub を使い始めました。最初は GitHub for Windows を利用していたのですが, SSH まわりが微妙だったので,公式で配布されているやつを使うことにしました。

普段 Windows では PuTTY を使っているので pagent が使えたら良いなと思ったのですが, The server's host key is not cached in the registry とエラーが出ました。

これは簡単に解決できます。 PuTTY を立ち上げて github.com に SSH 接続を試みるだけです。するとダイアログが出て「このサーバーの指紋は XX:XX:...:XX だけど,このホストを信頼して登録するかい?」と聞かれるので,先ほどのエラーの時に示された指紋と一致することを確認して登録してやります[A]。そのまま PuTTY のシェルが走ってログイン名を聞かれますが,ログインをしても仕方がないので (そもそもできない),ウィンドウは閉じてしまいます。

以上の作業を一旦行えば,以降は普通に GitHub のサーバーとやりとりができるようになります。

手順まとめ

  1. PuTTY のインストール。
  2. Git のインストール。環境変数 GIT_SSH に plink.exe のパスを指定して SSH は PuTTY を使う設定にする[B]
  3. GitHub に PuTTY の公開鍵を登録。
  4. GitHub に PuTTY で接続して指紋を登録。
  5. Enjoy!

参考文献

更新履歴

  • [2013-01-04] setup.ini で環境変数を指定していたのを実際の環境変数を指定するように修正。

脚注

  1. 正しい指紋は GitHub のヘルプを参照。 []
  2. 既にインストール済みで OpenSSH を使う設定にしている場合は C:\Program Files (x86)\Git\setup.ini を
    [Environment]
    GIT_SSH=C:\Program Files (x86)\PuTTY\plink.exe
    SVN_SSH=C:\Program Files (x86)\PuTTY\plink.exe
    

    とすれば多分大丈夫です環境変数を指定しましょう。 []