我用的是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没有密码,但仍然错误。


当前回答

$ cd ~
$ cd .ssh
$ chmod 400 id_rsa

其他回答

这就是我如何最终能够推动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中

SourceTree for Windows case

如果你在Windows上使用SourceTree,你需要使用PuTTyGen创建一个新的keypair

您应该插入到的顶部部分的ssh-rsa密钥

Github => Profile=> Settings => SSH and GPG keys => Add Key

然后保存私钥并将其添加到Pageant(它与SourceTree一起运行)

这是所有

我遇到了同样的问题,因为我认为SSH和HTTPS之间的区别是

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

ssh: / / github.com/USERNAME/REPOSITORY.git

因此,我从HTTPS更改为SSH,只需将https://更改为SSH:// url的末尾没有任何变化。

但事实是:

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

git@github.com:USERNAME/REPOSITORY.git

这意味着我将ssh://github.com/USERNAME/REPOSITORY.git更改为git@github.com:USERNAME/REPOSITORY.git。

愚蠢的错误,但希望能帮助某人!

解决方案使用gh即Github的官方CLI

gh安装

Brew install gh

通过cli登录或认证

Gh auth登录

回购克隆

Gh repo clone <username or orgname>/<repo-name> . sh

例如:gh repo clone keshavdulal/sample-repo

咆哮:当git克隆突然决定不再工作时,我也在敲打我的头,我没有耐心或脑力从头开始重新学习ssh/公钥/密密学,只是为了克隆一个我已经可以访问的该死的回购。同样令人惊讶的是,答案中还没有人提到gh

我得到这个错误,因为我生成的ssh密钥与错误的电子邮件。我可以使用ssh连接,但不能使用git。解决方案是使用我的github帐户的主要电子邮件地址重新生成密钥。