【发布时间】:2020-09-25 23:36:52
【问题描述】:
我最近无法将任何更改推送到我在 Gitlab.com 上的任何存储库。
我知道如果您更改了 SSH 密钥或站点已关闭,有时会发生这种情况,但据我所知,我没有更改我的 ~/.ssh 目录中的任何内容,而且 Gitlab.com 似乎正在运行.
但是,如果我运行 git push 我会得到错误:
You are not allowed to push code to this project.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
奇怪的是,git pull 仍然有效。我还尝试重新克隆存储库,制作并提交和推送,但这仍然失败。添加--verbose 选项没有显示更多细节。
我仔细检查了我的 Gitlab 帐户中的 SSH 密钥是否与我的 ~/.ssh/id_rsa.pub 文件中的密钥相匹配。我还尝试添加我的~/.ssh/config 的条目:
Host gitlab.com
IdentityFile ~/.ssh/id_rsa
但这没有任何效果。
这里发生了什么?为什么 Gitlab 突然不接受存档的 SSH 密钥?
【问题讨论】:
-
我发生了类似的事情,但我正试图向我的系统添加第二个 gitlab 帐户。我有两个 ssh 密钥并尝试创建一个使用第二个密钥的 ssh 配置。出于某种原因,即使在我使用
ssh -Tvvv git@my-aliased-gitlab.com进行测试时它确实尝试使用密钥,它仍然以错误的身份登录我。我最终在gitlab's documentation page 上找到了解决方案,并这样做以使其工作:git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/private-key-filename-for-this-repository -F /dev/null"