現象
GitHub のとある organization で private なリポジトリを作成した時、 SourceTree 経由で clone ができない。なお、認証は SourceTree に GitHub のアカウントを連携させて行っており、先程の条件以外のリポジトリは clone できる状態である。
原因
SourceTree が何らかの悪さをしている??
なぜ、 organization で private なリポジトリ
という特定の条件でしか発生しないのかわからない。
解決策
SourceTree 経由の認証を削除し、標準の認証方法に切り替える。
-
ssh-add -l
ssh-agent で登録された鍵を確認する。 -
ssh-add -D
で鍵を全削除(複数ある場合は鍵を指定すること) - 対象の鍵が削除されていることを確認する
-
ssh-keygen
で鍵を作成する - 鍵を GitHub に登録
> ssh-add -l
4096 SHA256:bz ... 9o (RSA)
> ssh-add -D
All identities removed.
> ssh-add -l
The agent has no identities.
> cd ~/.ssh
> ssh-keygen
> cat id_rsa.pub
最後に
SourceTree のアカウント連携は使わないほうがいいかもしれません。