はじめに
こんにちは、hatomato(@hatomato0920)です。
今回はprivate repositoryのcloneごときで3日を費やしたお話をします。
発覚した経緯
今回私は所属サークルで行ったCTFの問題をGitHubに上げるため、自身がorganizationのオーナーである状態で、自身で作成したorganization private repositoryをcloneしようとしたところ、permission deniedと言われ弾かれました。
ちなみにそのリポジトリはこれです。
https://github.com/IPFactory/WelcomeCTF2024
結論
認証ができていないのが問題だと思います。
私は認証のために参照するssh鍵が間違ってました
id_rsa_github => id_rsa
同じような症状の人はとりあえずここ一回確認してみるといいと思います。
これはgithubがいらなかったという書き方の問題ではなく、私は鍵を複数作成しており、id_rsa_github
はAPIキーの鍵でした。
Settings/Developer Settingsから飛べる、APIキーの発行
その他試したこと&当時のメモ
publicのOrgリポジトリのクローン〇, 他人のprivateリポジトリのクローン〇, vscode本体のみ削除×, git for win 削除×, git本体 & vscode全削除×, git & vscode全削除 PC再起を求められるも失敗, でも自分のデスクトップPCならクローンできた, ほかのcolaboraterは正常にクローン出来ている, 毎回以下のコードを入れないと、Git bashでもpermission deniedと言われる$ eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
終わりに
ちなみにIDとpasswdをつけての接続はできました。
なのでcloneもpushもできないことはなかったのですがやはりわざわざつけるのも、CLIのみでの操作になるのは面倒だったので解決させました。
今回のことがあって、逆にssh認証していなくてもOrganizationのprivate repository以外はcloneやpushができるとわかりました。
私のサークルOrgの設定の問題なのでしょうか。
これ本当に初期に作った覚えはあったのですがconfigに追加した覚えはなかったので解決まで長引きました。
この後APIキーは特に使っていなかったので消しました。