我是"项目"回购的所有者,但不知怎的,我无法推动它.
user@none ~/rails_projects/project $ git remote -v
origin git@github.com:user/project.git (fetch)
origin git@github.com:user/project.git (push)
Run Code Online (Sandbox Code Playgroud)
这是验证检查:
user@none ~/rails_projects/project $ ssh -T git@github.com
Hi user/project! You've successfully authenticated, but GitHub does not provide shell access.
Run Code Online (Sandbox Code Playgroud)
推送尝试:
user@none ~/rails_projects/project $ git push origin qa
ERROR: The key you are authenticating with has been marked as read only.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
知道如何修复此错误吗?
Tod*_*obs 11
您可能有多个SSH密钥,并且显示的密钥是存储库的部署密钥,而不是具有写入权限的帐户密钥之一.有两种方法可以解决这个问题:
从SSH代理中删除所有密钥,然后重新添加正确的帐户密钥.
ssh-add -D
ssh-add /path/to/correct/key
Run Code Online (Sandbox Code Playgroud)使用HTTPS而不是SSH.你可以很容易地做到这一点改变了远程URL为原点使用HTTPS方案,而不是SSH.
除非您只是简单地提供错误的凭据,否则其中一个或另一个应该有效.
这是我犯的一个愚蠢的错误,修复方法很简单。只需删除部署密钥,再次添加相同的私钥或新的私钥,这一次,只需 don't forget to mark the "Allow write access" option.
错误:
错误:您正在验证的密钥已被标记为只读。
可能意味着您:
您正在尝试使用与另一个存储库关联的密钥(例如作为部署密钥)推送到存储库,因此请检查:
$ ssh -i ~/.ssh/id_rsa git@github.com
Hi user/project! You've successfully authenticated, but GitHub does not provide shell access.
Run Code Online (Sandbox Code Playgroud)
并比较user/project它是否与您要推送的存储库相同。
您的密钥已被锁定(例如很长时间未使用),因此您必须通过在您的 GitHub 用户配置文件 ( /settings/ssh) 中完成对现有 ssh 密钥的审核来重新确认它,
ssh-add -l如果是,请删除它们并再次重新添加正确的键)。所以:
请确保您拥有正确的访问权限并且存储库存在。
通过以下简单步骤:
通过以下方式记录您的 RSA 指纹:
$ ssh-add -l
2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx (stdin) (RSA)
Run Code Online (Sandbox Code Playgroud)然后在 GitHub 上检查它是否已添加到您的帐户或存储库中:
对于帐户,请查看:/settings/ssh(SSH 密钥),
对于特定的存储库,请查看:(:name/:repo/settings/keys部署密钥),
或者使用并添加新密钥,解决常见的 SSH 问题或联系 GitHub 支持,因为他们可能会出于某种原因撤销它(例如通过公开披露)。
| 归档时间: |
|
| 查看次数: |
8298 次 |
| 最近记录: |