【SSH】Github/Bitbucketの別アカウントでSSHキーを設定する方法【Github/Bitbucket】
Macでの実施した内容になります。Windowsについては違う箇所もありますのでご了承下さい。
sshキーの作成・追加方法についてはこちらから。
今回は、GithubやBitbucketでSSHキーを分けて使いたい時の方法を解説します。
既にGithubやBitbucketのアカウントがあり、sshの設定がされている場合は、上記の記事のまま進めても上手くいかないはずです。
なぜなら、configにhostによって見るsshキーが設定されているからです。
例えば、既にGithub用のSSHキーが設定されていて、そのキーが記載されているファイル名を「id_github_rsa」とします。
その時、configファイルには以下のように記載があるはずです。
Host github github.com
HostName github.com
IdentityFile ~/.ssh/id_github_rsa
User git
一方、Githubに別のアカウントの作成して、別のSSHキーを設定する(作成ファイルを「id_github2_rsa」とすると)だけでは、host名から「id_github_rsa.pub」ファイルのキーを見に行ってしまうので上手くいきません。
これを解決するためには、configファイルに別の設定を加える必要があります。
分かりやすいようにもう一度整理します。
sshに移動
まずはここに移動しましょう。
$ cd ~/.ssh
現状の確認
既にgithubとの接続がされている状態で、そのsshキーは
・id_github_rsa
・id_github_rsa.pub
に定義されているとします。
また、configファイルには
Host github github.com
HostName github.com
IdentityFile ~/.ssh/id_github_rsa
User git
の記載があるとします。
sshキーの追加
sshキーの作成・追加方法についてはこちらから。
www.sky-limit-future.com
ここで、新たに作成したファイルを「id_github2_rsa」の名前で作成し、Githubにも公開鍵を設定したとします。
configの設定
アカウントを分けるには、HostとHostNameを設定する必要があります。
今回は「github.com」を「test.github.com」に変更しました。
#既存の記述
Host github github.com
HostName github.com
IdentityFile ~/.ssh/id_github_rsa
User git
#追加分
Host github test.github.com
HostName test.github.com
IdentityFile ~/.ssh/id_github2_rsa
User git
こうすることで、test.github.comでの接続時には今回新たに作成したSSHキーを見に行ってくれます。
接続確認
念のため接続を確認します。
$ ssh -T git@test.github.com
→ 「You've successfully authenticated」の含まれたメッセージが表示されたらOK!
注意点
host名を変えているのでsshを使ってcloneする時などは、注意が必要です。
例えば、Github上で以下のように記載されていたとしても
git@github.com:the-sky-id-the-limit/test.git
これをcloneする時は
git clone git@github.com:the-sky-id-the-limit/test.git
ではなくて
git clone git@test.github.com:the-sky-id-the-limit/test.git
とする必要があります。
Bitbucketでも方法は変わりません。
以上が、Github/Bitbucketの別アカウントでSSHキーを設定する方法でした。