2016-12-06 151 views
1

我遵循Multiple GitHub Accounts & SSH Config(stefano的回答)中描述的流程,并使用部署密钥设置了对多个存储库的SSH访问权限。我试过在特定的GitHub组织的仓库,它工作正常 - 我可以拉和推变化。我也尝试过在我的用户区域,它仍然很好。通过SSH访问GitHub存储库

然而,当尝试这种在另一GitHub的组织库(例如做一个混帐推时)失败,出现以下错误

ERROR: Permission to XXXX/YYYY.git denied to deploy key 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 

当通过ssh -T检查SSH访问我得到

“Hi XXX/YYYY!您已成功通过身份验证,但GitHub不提供shell访问权限。”

这表明SSH应该工作。

我已经浏览了组织设置(GitHub organization> Settings的主页面),他们有几乎完全相同的设置,除了您期望会有不同的设置外,联系电子邮件等。

我想知道是否有人有什么可能会导致此问题的想法。有没有更多的组织设置在任何地方?

回答

0
ERROR: Permission to XXXX/YYYY.git denied to deploy key 

这看起来像您试图使用部署密钥推送。此密钥用于部署,因此仅用于只读访问存储库。请确保您的密钥已注册到您的github帐户中,请确保已使用该密钥(IdentityFile,~/.ssh/config),并从默认采用的标准位置(~/.ssh/id_{rsa,dsa,ecdsa,ed25519})中删除部署密钥。请注意,如果有更多的“有效”键,只有冷杉成功。

+0

你是说部署密钥仅用于只读访问吗?我勾选了“写入权限”复选框,并且我还将其用于不同GitHub组织的存储库。建议按照建议设置配置中的IdentityFile。 – charisk

+0

那么,只读是有道理的,但我看到github支持也出于某种原因读取/写入部署密钥。但肯定检查你是否用预期的密钥登录是一个好的开始。在'〜/ .ssh/config'中设置LogLevel DEBUG3会帮助你。 – Jakuje

+0

感谢您的指点。我希望它具有写访问权限,以便我的构建服务器可以推送更改版本标签。所以我可以看到用例。不过,我相信这与我的设置无关,但与GitHub设置无关。 LogLevel表明获得了正确的密钥并且认证正常,只是出于某种原因,GitHub带着“拒绝部署密钥的权限到XXXX/YYYY.git”。 – charisk