ssh clone无法使用github

时间:2012-07-20 19:15:27

标签: git github

我是Git和GitHub的新手。

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

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

  • 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)."

而不是欢迎讯息。

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

7 个答案:

答案 0 :(得分:17)

根据GitHub helperror you're getting与错误的SSH配置有关。请按照setting up SSH for GitHub的指示进行检查并进行相应检查。

答案 1 :(得分:3)

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

答案 2 :(得分:2)

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

它。只是。没有。工作

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

答案 3 :(得分:1)

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

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

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

答案 4 :(得分:0)

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

答案 5 :(得分: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错误,则必须先解决此问题。

答案 6 :(得分:0)

您可以按照以下文档将密钥添加到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'