著作一覧 |
以前はTortoiseSVNで、普通にRubyForgeからチェックアウトしたりコミットできていたのだが、いつからか全然できなくなってしまった。そんなコマンドサポートしていないエラーとかになるのだ。
でも、Linuxマシンからは普通にできるのでそれはそれでOKで済ませていた。
が、やはり出先でノートPCからコミットできないのは不便だなぁと思い返して、OSXマシンにid_rsa*をコピーしてsvnするとエラーとなった。0600じゃないキーファイルはキーファイルとは認めないよエラーだ。
ああ、確かに黙ってコピーしたらそうなるよな、とパーミッションを直してコミットしたりしてふと気づく。もしかして、Windowsマシンの鍵を更新してなかったからかな。
で、以下の手順で設定した。
puttygen.exeを実行する。Loadボタンをクリックして、Unixマシン(SMBで繋げているとして)の~/.ssh/id_rsa(拡張子が付いていないプライベートキーのほう)を指定して読み込む。ファイルを開くダイアログは最初拡張子ppkでフィルタリングしているので*.*を選択してから見えるようにしてから行う。
すると、パスフレーズの入力が求められるので入れてやる。
ロードが完了したら、「Save Private Key」をクリックして、id_rsa.ppk(名前はなんでも良いけど)として保存する。これがPuTTY形式といって、普通のid_rsaとは違う形式らしい。
次に、TortoiseSVNのSettings-Network-SSH Clientにキーの位置を指定する。
既定でTortoisePlink.exeがフルパス名で入っているので、「 -C -i c:\ppkファイルへのパス\id_rsa.ppk」を追加する。-Cは圧縮有効オプション。-lオプションを使う例を見かけたが、Windowsのログオンユーザ名が利用される(のだと思うが、id_rsaに埋め込まれているものも同じなのでなんとも言えない)で、同じ名前を使っているのなら指定する必要はない。
で、チェックアウトするとパスフレーズ入力ダイアログが表示されて、無事完了。
ジェズイットを見習え |