21

我是 Git 和 GitHub 的新手。

我创建了一个新存储库并尝试在我的本地计算机上进行克隆。

它适用于 https 和 git-readonly URL。也就是说,以下工作正常:

  • git clone https://github.com/npsabari/testrepo.git
  • git clone git://github.com/npsabari/testrepo.git

但是当我尝试时git clone git@github.com:npsabari/testrepo.git,它没有用。它给出了以下错误消息:

Cloning into 'testRepo'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

然后我尝试ssh git@github.com了,但我得到了错误:

"Permission denied (publickey)."

而不是欢迎信息。

我应该怎么做才能解决这个问题?错误的原因是什么?

4

7 回答 7

22

根据 GitHub help您遇到的错误与错误的 SSH 配置有关。请遵循为 GitHub 设置 SSH 的指示并进行相应检查。

于 2012-07-20T19:21:07.093 回答
4

您可以按照以下文档将您的密钥添加到ssh-agent https://help.github.com/en/articles/connecting-to-github-with-ssh

或者您可以运行以下命令来临时执行它

ssh-agent bash -c 'ssh-add ~/.ssh/github_rsa; git clone git://github.com/npsabari/testrepo.git'

于 2019-03-06T20:15:53.167 回答
3

错误的原因是您没有将公钥 (~/.ssh/id_rsa.pub) 上传到 GitHub。将其添加到您的帐户(您可以通过 github 提供的 Web 面板执行此操作),它将起作用。

于 2012-07-20T19:17:42.077 回答
2

我经历过 - 只有一次 - 生成的密钥ssh-keygen被破坏了。检查私钥和公钥文件,它们具有正确的语法、长度等。

它。只是。没有。工作。

在同一台机器上,我重新生成了一个密钥对。这终于让我通过 ssh 连接到 github。

于 2015-08-10T13:56:21.490 回答
1

实际上,首先您应该生成 ssh 密钥,然后将它们保存在您的帐户中。

有关更多详细信息,请参阅以下链接

https://help.github.com/articles/generating-ssh-keys

于 2012-07-20T19:19:23.540 回答
0

我想补充一点,如果您需要使用sudo,它可能会干扰,因为 SSH 密钥未绑定到该用户。您可能希望在使用之前git而不是之后编辑权限。

于 2018-05-18T01:32:51.620 回答
0

克隆有两种方法。
1. SSH
2. HTTPS
在我的情况下,第一个给出了类似的问题,但后来我尝试HTTPS通过运行以下命令来使用方式。
git clone https://xyz
在此之前运行此命令git remote -v。这应该显示
1. git-url(fetch)
2. git-url(push)
如果您在运行命令时看到这两个,它告诉您您获得了push正确的fetch权利。在您配置并正确设置代理后,如果您仍然发现问题,我解释的这个解决方案应该可以工作。如果你SSH public key and private key错了,那么你必须先解决这个问题。

于 2019-02-19T01:45:37.227 回答