アットウィキロゴ

SSHでの接続

SSHで接続する理由

MercurialはHTTPを使ったプルとプッシュに対応しています。しかし、例えば非常に大きなリポジトリなどの場合、通常SSHを使うほうが良いです。BitbucketはSSHを使うフル機能を提供しており、送信データに圧縮をかけることができるため、プッシュとプルをより早く行えます。

公開鍵と秘密鍵の作成

PuTTYからPuTTYgen.exeをダウンロードし起動する

Parametersのラジオボックスを「SSH-2 RSA」か「SSH-2 DSA」にし、Actionsの「Generate」ボタンを押す
マウスカーソルを動かさないとプログレスバーが動かないので適当に動かす(乱数生成に使うらしい)

生成後にKey passphraseを入力するフィールドが出るので入力する
秘密鍵だけ保存すればいいような気もするが一応公開鍵も保存しておく

  • 入力したパスフレーズは後で使うので忘れないように
  • 詳しくはここを見る

公開鍵をBitbucketに登録する

公開鍵をBitbucketに登録してやらないとSSH接続はできない

PuTTYgenの赤で囲った部分がBitbucketに登録する公開鍵になるので「ssh-rsa」の部分も含めて全てコピーする
保存した公開鍵ファイルは(この場合では)使わないので注意

Bitbucketのアカウント設定内に「SSH keys」という項目があるので、赤で囲った部分のテキストフィールドに公開鍵をペーストする
「Add key」ボタンをクリックすれば公開鍵が登録される

  • 画像の黒く塗りつぶしてある部分に登録された公開鍵が表示されている
  • 「Choose key」ボタンは公開鍵ファイルをアップロードする場合に使うが、OpenSSH用に変換しないといけないらしい

秘密鍵をPageantに登録

TortoiseHGを使っていれば、インストールしたフォルダにPageantがすでに入っている
使わない場合はPuTTYからPageant.exeをダウンロードする
Pageantを起動するとタスクトレイにアイコンが表示されるので、右クリックメニューから「Add Key」を選択し、秘密鍵を開く
鍵の作成時にパスフレーズを設定していた場合は入力を求められるので正しく入力する

  • Pageantを起動する度に秘密鍵を登録しないといけないが、起動する時に引数で秘密鍵の場所を指定すれば読み込んでくれる
  • Pageant.exe [秘密鍵のパス]
  • 引数で秘密鍵の場所を指定してもパスフレーズは毎回入力しないといけない

Mercurial.iniの設定

TortoiseHGを使っている場合にはMercurial.iniの[ui]セクションに
ssh = TortoisePlink.exe -ssh -2 -batch -C
と追加する
TortoiseHGを使わない場合はPuTTYからPlink.exeをダウンロードして設定するらしいが、詳しくは知らないのでパス

実際に接続する

Mercurial.iniの設定まで完了したら、後は普通にBitbucketと接続すればいい
  • リポジトリを作るとSSH接続用のアドレスが出るのでそれを使う
  • Pageantが起動していないと接続できないので注意
  • かといってPageantを起動しっぱなしも問題らしいので注意
最終更新:2012年02月12日 12:58