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


当前回答

我刚刚在设置我当前的项目时遇到了这个问题,上面的解决方案都不起作用。所以我试着用命令ssh -vT git@github.com查看调试列表上到底发生了什么。我注意到我的私钥文件名不在列表中。因此,将私钥文件名重命名为'id_rsa'就可以了。希望这能有所帮助。

其他回答

当我在工作中得到一台新电脑或换工作时,这些是我遵循的步骤。Mac或Windows

-访问https://github.[yourWorkDomain].com。导航到设置→开发人员设置→个人访问令牌 -生成一个新的令牌 -设置令牌描述,只检查范围的“repo”框(这将给你repo:status, repo_deployment, public_repo, repo:invite access)

-在你得到令牌后,复制它(不要导航离开,确认接下来的两步工作) -尝试再次克隆回购(使用“https”) -用户名使用你的用户名 -对于密码,粘贴您复制的令牌 -所有未来的请求现在应该工作,而不需要您的用户名和密码。

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

我得到了同样的错误。我的问题是混入sudo。

如果不给git clone命令加上sudo前缀,就无法自动创建要克隆到的目录。然而,当我这样做的时候,我的ssh键没有被正确引用。

为了解决这个问题,我通过chmod在我想要包含我的克隆的父目录上设置权限,这样我就可以对它进行写入。然后我运行git克隆没有一个sudo前缀。然后它成功了!之后我把权限改回来了。完成了。

在MAC中,进入终端

1)使用命令- cd ~进入主目录

2) cd .ssh && ssh-keygen(默认情况下,双击输入/返回键)

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):      
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/usernmae/.ssh/id_rsa.

3)之后,做“ls”。您将找到id_rsa。酒吧文件。

4)复制id_rsa. conf文件中的内容。Pub文件(使用cat命令读取- cat id_rsa.pub)

5)导航到BitBucket或任何支持SSH密钥的版本工具。使用“添加键选项”粘贴内容

就是这样。试着现在就做出承诺和努力。

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