ssh conflict / github权限被拒绝但身份验证成功,有什么问题?

时间:2014-10-28 00:31:11

标签: git github ssh ssh-agent

我已经有了一个github帐户,使用gitbash -clone / pull / push时没有问题。 现在,我现在创建了另一个github帐户,与朋友一起工作,并意识到由于帐户冲突或其他任何问题,我无法推送。 所以我创建了一个新的ssh密钥并经历了一些线程,但仍然没有使它工作,但我能够在两个不同的git帐户之间进行身份验证,但现在由于访问权限我无法推送或克隆。

我不记得我所做的所有步骤,因为我正在经历不同的线程并尝试不同的事情。顺便说一句,我使用的是Windows。

第一

我转到/.ssh并将之前的id_rsaid_rsa.pub更改为id_rsa_acc1id_rsa_acc2

第二

我使用了另一个密钥 ssh-keygen -t rsa -C "email@email.com" 我以前的ssh也使用相同的电子邮件

第三

我转到/.ssh并将我的新id_rsaid_rsa.pub更改为id_rsa_acc2id_rsa_acc2

第四

.ssh文件夹中,我创建了一个名为config的文件并添加了

# acc1 GitHub
Host acc1 .github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_acc1

# acc2 GitHub
Host acc2.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_acc2

第五

我使用我的acc2登录github.com并将/.ssh/id_rsa_acc2.pub中的ssh密钥添加到github设置> SSH密钥

第六

eval `ssh-agent -s`
ssh-add

第七

ssh-add ~/.ssh/id_rsa_acc1
ssh-add ~/.ssh/id_rsa_acc2

第八

ssh -T git@acc1.github.com
Hi acc1! You've successfully authenticated, but GitHub does not provide shell access.

ssh -T git@acc2.github.com
Hi acc2! You've successfully authenticated, but GitHub does not provide shell access.

我再也找不到其中一条错误信息,但是当我试图进入acc2时,它说了一些关于因为acc1或类似内容而拒绝访问的内容。 然后我尝试使用ssh url克隆,甚至无法从github克隆这两个帐户中的任何一个。

现在,当我尝试克隆/推/拉时,我只收到这样的错误消息     权限被拒绝(publickey)。     致命的:无法从远程存储库读取。

Please make sure you have the correct access rights
and the repository exists.

有人可以帮我一把吗?

1 个答案:

答案 0 :(得分:0)

问题是因为对于公共存储库,您需要稍微改变您的工作流程。您的朋友需要分叉您的存储库,使用此存储库,他们可以进行任何他们想要的更改。

之后,当您准备好结合您的工作时,您的朋友将需要创建一个“拉取请求”,您可以在其中查看代码并决定将更改接受到您自己的存储库中。这是用于公共合作的Github模型。

或者,您可以进入存储库的“设置”,并将您的朋友添加为协作者。然后,他应该能够直接将更改提交到您的存储库。