我创建了一个新的repo,能够使用SSH克隆并提交所有内容。但是当我试图推动时,我得到以下错误:
ERROR: Permission to Ronin11/MealPlanr.git denied to deploy key
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
使用:
ssh -T git@github.com
我能够验证我的ssh密钥是否正常工作。我不知道发生了什么。这只是前一天工作。几个月来我还没有碰过这些设置。 所有这些都是在Mac上使用终端。
帮助!
答案 0 :(得分:3)
您提到您使用的是OSX。如果您使用的是10.12.2+,则可能是您的ssh配置存在问题。 Github的文档有关于此的说明。
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
具体而言,他们说将以下内容添加到~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
希望这有帮助
答案 1 :(得分:1)
您的密钥可能已已链接到一个存储库。
尝试使用ssh -T -ai ~/.ssh/id_rsa git@github.com
找到有关的仓库。
所有详细信息在这里 https://help.github.com/en/articles/error-key-already-in-use
答案 2 :(得分:1)
解决方案1:
ssh-agent bash -c 'ssh-add ~/.ssh/id_rsa; your_git command'
在这种情况下,您必须通过每次都附加git命令来重复上述命令。我不建议这样做。
解决方案2:
ssh-add -D
ssh-add ~/.ssh/id_rsa
这两个命令将删除广告并添加用于单点登录的SSH密钥。
答案 3 :(得分:0)
对我来说,以下内容始终适用于GitHub push:
eval `ssh-agent -s`; ssh-add your_key; git push
答案 4 :(得分:0)
您的问题的可能答案是您使用的 deploy key
通常只有读取访问权限。如果它在某一阶段确实具有写访问权限,则可能有人将其改回只读。
答案 5 :(得分:0)
另一个可能是您的 id_rsa 私钥文件具有太广泛的权限,例如0644
,错误被掩盖了。
限制权限:
chmod 400 ~/.ssh/id_rsa
注意:您需要将密钥重新添加到 ssh-agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
再次测试:
ssh -T -ai ~/.ssh/id_rsa git@github.com