質問: ### 状況 他人と作業を共有する目的ではなく、自分の作業のバックアップにGitLabを使用しています。 そのため、GitLabで作成したプロジェクトの権限はprivateで、自分以外にアクセスする可能性のある人間はおらず、作業するのも自宅のPCのみです。 このような環境でGitLabでプロジェクトを作成しclone。その際にssh keyを登録。PCで作業をしたらコミットし、Gitlabにプッシュをしています。 この使用方法で問題なかったのですが、新たにGitLabでプロジェクトを作成し、cloneすると以下のようなエラー、つまり権限がないと出ます。 ``` Cloning into 'プロジェクト名'... git@gitlab.com: Permission denied (publickey). fatal: Could not read from remote repository. ``` このエラー文章について調べたところ、ssh keyを生成し、GiLabに登録しろ。といった解説が多くのサイトでされています。 しかし、既にcloneしてプッシュまでしているプロジェクトがあり、その際にssh keyは登録したはずで、GitLabのユーザーの設定を確認しても、公開鍵が登録されています。 上記のエラーが出た後に、プッシュしているプロジェクトを適当なフォルダにクローンしたところ、こちらは問題ありませんでした。 ### 疑問 使用しているPCのgitからGitLabのアカウントのprivateプロジェクトにアクセスできる権限があるはずで、今更何を登録する必要があるのかわかりません。 このエラーはやはりssh keyを生成すれば解決すると思いますが、何故すでに登録してあるkeyでクローン出来ないのでしょうか? 新しいプロジェクトを作成するたび、ssh keyを登録しなければならない、ということでしょうか?
回答: > > このような環境でGitLabでプロジェクトを作成しclone。その際にssh keyを登録。PCで作業をしたらコミットし、Gitlabにプッシュをしています。 > > 新たにGitLabでプロジェクトを作成し、cloneすると以下のようなエラー、つまり権限がないと出ます。 > > > ssh 鍵は、どの画面で登録しましたか? プロジェクト画面で登録していませんか? プロジェクトの画面で登録したssh 鍵はそのプロジェクト専用のssh鍵として扱われますので、他のプロジェクトでは使用されません。 ユーザーアカウントの設定画面で ssh 鍵を登録した場合は、どうなりますか?