我用的是Mac雪豹,刚刚安装了git。

我只是试了

git clone git@thechaw.com:cakebook.git

但这给了我这个错误:

Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

我错过了什么? 我也试过做ssh-keygen没有密码,但仍然错误。


当前回答

当我试图运行一个makefile时,我得到了类似的权限拒绝(publickey)错误。

作为上述SSH步骤的替代方法,您可以安装本地GitHub for Mac应用程序。

点击下载GitHub for Mac从- https://help.github.com/articles/set-up-git#platform-mac

一旦你用你的git hub帐户完成了设置(我也安装了git hub命令行工具,但不确定是否需要这一步),然后我收到了一封电子邮件-

[GitHub]一个新的公钥已添加到您的帐户

我的错误被纠正了。

其他回答

在Windows上,确保所有应用程序的HOME一致。令人惊讶的是,Msys不会为你做这件事。我不得不设置一个环境变量,因为ssh和git似乎无法就我的.ssh目录在哪里达成一致。

同样的错误报告。

修正了使用HTTPS而不是SSH协议的问题。因为我不想为测试PC设置“SSH密钥”。

克隆时将URL更改为HTTPS:

git clone https://github.com/USERNAME/REPOSITORY.git

我的问题有点不同:当添加一个现有的本地回购到远程时,我有URL设置为SSH,通过使用:

git remote add origin ssh://github.com/USERNAME/REPOSITORY.git

要解决这个问题,请将URL重置为HTTPS:

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

顺便说一句,你可以使用命令检查你的URL:

git remote -v
origin  https://github.com/USERNAME/REPOSITORY.git (fetch)
origin  https://github.com/USERNAME/REPOSITORY.git (push)

希望这能帮助到像我这样的人。: D

这对我来说很管用:

ssh-add ~/.ssh/id_rsa

请注意(至少对于某些项目),您必须拥有一个带有ssh密钥的github帐户。

查看身份验证代理中列出的密钥(ssh-add -l) (如果你没有看到任何,用ssh-add /path/到/your/key添加一个你现有的密钥(例如:ssh-add ~/.ssh/id_rsa)) (如果你没有任何密钥,首先创建一个。参见:http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html或谷歌ssh-keygen)

要验证您有一个与您的github帐户相关联的密钥:

访问:https://github.com/settings/ssh

您应该至少看到一个键的哈希键与您刚才键入ssh-add -l时看到的某个哈希键相匹配。

如果没有,添加一个,然后再试一次。

这就是我如何最终能够推动git


对我来说,我一直在得到

git@github.com: Permission denied 
fatal: Could not read from remote 

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

所以经过几个小时的研究,我发现在生成您的ssh密钥并使您的windows代理识别您的密钥后,我做的最后一件事来解决我的问题是更新ssh密钥在git回购的项目。

你可以登录到你的git hub账户,然后进入你想要推送的repo,然后在设置中寻找安全性,在那里你可以添加ssh密钥。对于我来说,密钥存储在.ssh/id_ed123939.pub中