2015年3月11日水曜日

複数Bitbucketアカウントをsshで接続する方法

会社とプライベートで別々の複数のBitbucketアカウントを持っている時に、
同一端末から、sshでアクセスする方法です。

今回は仮に、bitbucket1とbitbucket2の2個を使用する事を想定しています。

SSHキーの作成

まず、SSHキーを作成します。
もし、既に自前のSSHがあるようであれば、自前の物を使ってください。

cd ~/.ssh

mkdir bitbucket1
ssh-keygen -t rsa -C ore-tec@example.com -f bitbucket1/id_rsa

mkdir bitbucket2
ssh-keygen -t rsa -C ore-tec@example.com -f bitbucket2/id_rsa

SSHキーの権限変更

sshきーの権限を変更します。

chmod 600 bitbucket1/id_rsa
chmod 600 bitbucket2/id_rsa

.ssh/configの設定

Host bitbucket.org1
  HostName bitbucket.org
  IdentityFile ~/.ssh/bitbucket1/id_rsa
  User bitbucket1
Host bitbucket.org2
  HostName bitbucket.org
  IdentityFile ~/.ssh/bitbucket2/id_rsa
  User bitbucket2

Bitbucketへのキーの追加

[アカウントの管理]画面 > SECURITY [SSH キー] をクリック
[鍵を追加]ボタンをクリック

bitbucket add ssh

上記のkeyの部分に以下でコピーしたモノをペーストします。

cat ~/.ssh/bitbucket1/id_rsa.pub | pbcopy

Labelも自分で認識しやすいモノを設定する。

同様にbitbucket2も別bitbuckeアカウントに鍵を追加します。

.git/configの設定

プロジェクトのルートに移動して.git/configを下記のように設定します。

my_project1の場合

[remote "origin"]
         url = ssh://git@bitbucket.org1/bitbucket1/my_project1.git
         fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

my_project2の場合

[remote "origin"]
         url = ssh://git@bitbucket.org2/bitbucket2/my_project2.git
         fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

重要なところは url = の部分で以下のように指定します。

ssh://git@[ssh/config のHOSTで設定したラベル]/[Bitbucketのユーザー名]/[リポジトリ名].git

0 件のコメント:

コメントを投稿

statistics