fossilのrepositoryをsshを使って叩く Windows

fossilをInternet越しに使いたい場合通信経路を安全にするためにsshを使ったりします。

これをWindows Clientでやる場合の設定方法についての記事です。

ただしRepositoryを持っている Server側はLinuxです(^^;

sshのClient

puttyを使います。

正確にはplink.exeとpageant.exe。

puttyの入手は現在であれば 以下のPuTTYjp Version 0.63-jp20130916 が良いでしょう。

http://hp.vector.co.jp/authors/VA024651/PuTTYkj.html

これを適当な場所にいれてパスを通します。

以下蛇足ですが SSH Clientとしての設定です。

  1. puttygen.exeを使って公開認証用のキーを作って保存。
  2. puttygen.exeでKeyに表示された文字列をサーバの~/.ssh/authorized_keysに追加。
ssh-rsa …. == User名@ホスト名 ってやつです。
  1. pageant.exeのAddKeyでprivateキーを読み込ませておく。
  2. puttyを使ってpageantを使ってパスワード入力無しにログインできる事を確認

注意) 一度はputtyを使ってログインしておかないと、CacheされたHostキーが無いために fossilから叩くのに失敗します。

fossil側の設定

ssh-commandとしてplink.exeを使う様に設定します。

fossil settings --global ssh-command "plink.exe -T -agent"

global設定です。すべてのRepository操作でsshを使う場合に利用されます。

この設定は%USERPROFILE%\AppData\Local_fossilにSQLiteのデータベースが作成され保存されます。

使う

pageantを起動してパスワードを入力した後

fossil clone ssh://username@hostname:port/repos/hoge.fossil ./hoge.fossil

とかすればOK。

使い終わった後、気になる人はpageantを終了しておきましょう。

cloneした repositoryを openしてそのまま使うと autosyncで自動的にrepository同期が行われます。

自動同期を切りたい場合は

fossil settings autosync 0

でOKです。手動での同期は

fossil sync

です。