TortoiseSVN で公開鍵を使う方法
2007-01-16-1: [Security][Subversion]
TortoiseSVN で svn+ssh を利用した場合に,認証をパスフレーズではなく公開鍵で行う方法を紹介します.
SSH クライアントには TortoiseSVN 付属の TortoisePlink を使います.
TortoisePlink は PuTTY 由来らしいので PuTTY 形式の鍵を使う必要があるみたいです.
PuTTY 形式の鍵を生成したり,OpenSSH の鍵を PuTTY 形式に変換したりするために,PuTTYgen が必要になります.
PuTTYgen は以下のサイトで入手できます.この記事の執筆時点の最新版は 0.58 です.
- PuTTY Download Page
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
1. 鍵を新たに作成する方法
1. 鍵の生成
PuTTY を起動し右中央部にある [Generate] を選択します.
マウスをひたすら動かしていると,そのうち鍵が生成されます.
2. 公開鍵をサーバに登録
Public key for pasting into OpenSSH authorized_keys file の部分をコピーして
$HOME/.ssh/authorized_keys に貼り付けます.
$HOME/.ssh/authorized_keys がない場合は作成しましょう.
3. 秘密鍵の保存
右中央部にある [Save private key] を選択します.
PuTTY の秘密鍵の拡張子は ppk になります.ここでは
C:\keys\svn.ppk
として保存します.
秘密鍵のパスフレーズは,同じ画面の「Key passphrase」で設定します.
4. TortoiseSVN で公開鍵を使うように設定
「TortoiseSVN 設定」の「ネットワーク」を開きます.
「SSH クライアント」に TortoisePlink を選択して,先ほど作成した秘密鍵を以下のように指定します.
TortoisePlink -C -l username -i C:\keys\svn.ppk
username はユーザ名です.-C オプションは圧縮を有効にするオプションです.
以上が,鍵を新たに作成した場合の TortoiseSVN で公開鍵を使う方法になります.
2. 既にある OpenSSH の鍵を PuTTY 形式に変換する方法
1. 鍵の変換
PuTTY を起動し右中央部にある [Load] を選択します.
秘密鍵にパスフレーズが設定してある場合は,パスフレーズの入力画面が表示されるので,パスフレーズを入力します.
すぐに PuTTY 形式の鍵に変換されます.
2. 秘密鍵の保存および TortoiseSVN で公開鍵を使うように設定
上記「1. 鍵を新たに作成する方法」の「3. 秘密鍵の保存」からの手順と全く同じになります.
以上が,OpenSSH の鍵を PuTTY 形式に変換した場合の TortoiseSVN で公開鍵を使う方法になります.
3. 確認
試しに,コミットログを表示するなどしてみてください.
パスフレーズによる認証のときは,以下のように「Password」という入力画面が表示されました.
しかし,公開鍵認証の場合は,以下のように「Passphrase for key "..."」という入力画面が表示されます.
- tortoisesvn.tigris.org
http://tortoisesvn.tigris.org/