⚙
GitHubとBitbucketアカウントのSSHキー設定を共存させる
Bitbucketリポジトリのクローンでコケる
Bitbucketリポジトリのクローンが何故かできん!!
…と思ったら、SSHキーの設定をしてないマシンだった件。
% git clone git@bitbucket.org:hogehogeinc/xxx-yyy-zzz.git
Cloning into 'xxx-yyy-zzz'...
The authenticity of host 'bitbucket.org (104.192.141.1)' can't be established.
RSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'bitbucket.org,104.192.141.1' (RSA) to the list of known hosts.
git@bitbucket.org: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
該当マシンではGitHubアカウントのSSHキーは設定済みだったため、既存のconfigファイルにBitbucketアカウントの設定を追加して、両サービスのgit操作を共存させることにした。
また別のマシンで作業する際に忘れそうなので、設定手順をメモしておく。
環境
- OS:macOS Catalina
- シェル:zsh
BitbucketのSSH作成
ターミナルで以下コマンドを実行。
% ssh-keygen -t rsa -C hoge@fugo.com -f ~/.ssh/id_rsa_bitbucket
-
hoge@fugo.com
部分は対象アカウントのメールアドレス -
id_rsa_bitbucket
はBitbucket用として判別しやすい名前にしてみた - パスフレーズ入力(設定せずエンターキー押下でもOK)
- パスフレーズ確認(同様)
% ssh-keygen -t rsa -C hoge@fugo.com -f ~/.ssh/id_rsa_bitbucket
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/unsoluble_sugar/.ssh/id_rsa_bitbucket.
Your public key has been saved in /Users/unsoluble_sugar/.ssh/id_rsa_bitbucket.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxx hoge@fugo.com
The key's randomart image is:
+---[RSA 3072]----+
...
id_rsa_bitbucket
(秘密鍵)と id_rsa_bitbucket.pub
(公開鍵) の2ファイルが作成される。
SSHキーを登録
作成したSSHキーをBitbucketに登録する。
SSHキーの内容をコピー
作成したSSHキーのうち id_rsa_bitbucket.pub
(公開鍵)の内容をコピー。
% cat ~/.ssh/id_rsa_bitbucket.pub | pbcopy
Bitbucketに登録
Bitbucketの個人設定ページにてSSHキーを追加する。
わかりやすいLabel
つけてKey
にペースト。
設定保存して完了。
.ssh/configにBitbucketの設定追加
configファイルにBitbucket用の設定を追加(Host bitbucket.org
以後)。
Host *
AddKeysToAgent yes
UseKeychain yes
Host github
HostName github.com
IdentityFile ~/.ssh/id_rsa
Port 22
User git
Host bitbucket.org
User git
HostName bitbucket.org
IdentityFile ~/.ssh/id_rsa_bitbucket
IdentitiesOnly yes
ここで参照するのはid_rsa_bitbucket
(秘密鍵)ね。
接続確認
正しく設定できているか、SSHコマンドで接続確認。
% ssh -T git@bitbucket.org
logged in as unsoluble_sugar
You can use git to connect to Bitbucket. Shell access is disabled
以上。
参考
GitHubのSSHキー設定については、以前Qiitaに書いたのでリンク載せておく。
新しいMacでGitHubのSSH接続をするまでの環境構築手順 - Qiita
シェルはbashだけど、基本的な流れは大きく変わらないはずなので参考までに。
Discussion