macOS catalinaでbitbucketからsshでリポジトリをclone出来なかったときの解決策


起きた問題

 今、所属組織の関係上Bitbucketのアカウントを2つ持っていて、使っている。久しぶりに、自分のPCに組織AのBitbucketにあるリポジトリのソースをcloneしようとしたところ

Forbidden
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

というエラーが出た。要は使った秘密鍵にはこのリポジトリに対するアクセス権がありませんよということである。

解決方法

 よく見ると、このアカウントに使っている秘密鍵とcloneするときに参照されている秘密鍵が異なっていた。
 普通は「じゃあ、今参照されている秘密鍵に対応する公開鍵をBitbucketに登録すればいいのでは?」と思いますよね。で、それをしたのですが、すると「この秘密鍵は、違うアカウントで使用されています」とエラーが出るんですね。はい、組織Bで使ってました。
 本当にアカウントをそろそろ統合せねばと思いながら、面倒だなーと思い、色々とした結果、普通にssh-agentに登録しなおせば解決しました。

% eval "$(ssh-agent -s)"
Agent pid 42643
% ssh-add ~/.ssh/[組織Aの秘密鍵]

 備忘録として。
 他にいい方法知っている方いらっしゃったら教えて下さい。