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


当前回答

使用来自Github的ssh链接,但确保不要附加ssh,只需使用git hub上的ssh选项卡来克隆你的repo。

其他回答

使用来自Github的ssh链接,但确保不要附加ssh,只需使用git hub上的ssh选项卡来克隆你的repo。

github帮助链接帮助我解决了这个问题。看起来ssh密钥没有添加到ssh-agent。这就是我最后做的事。

命令1:

确保ssh-agent已启用。在后台启动ssh-agent:

eval "$(ssh-agent -s)"

命令2:

将SSH密钥添加到SSH -agent:

ssh-add ~/.ssh/id_rsa

你是在公司工作吗?有没有可能您的系统变量最近发生了变化?根据这个SO回答,ssh密钥位于%HOMEDRIVE%%HOMEPATH%\.ssh\id_rsa.pub。因此,如果%HOMEDRIVE%最近发生了更改,git就不知道到哪里去查找密钥,因此就无法进行所有的身份验证。

尝试运行ssh -vT git@github.com。注意身份文件的位置。对我来说,这不是指向我的普通的\Users\MyLogin,而是指向一个网络驱动器,因为在网络级别上推了一个环境变量的变化。

解决方案?由于我的新%HOMEDRIVE%与我的本地文件具有相同的权限,我只是将.ssh文件夹移到那里,然后就结束了。

在我的MAC中,我解决了这个问题:

cp ~/.ssh/github_rsa ~/.ssh/id_rsa

出于某种原因,我的git停止在github_rsa文件中寻找私钥。这发生在一次特定的回购中。我的意思是在其他存储库中git保持正常工作。

我想这是个bug。

我可以在运行ssh -vT git@github.com时发现这种行为

除了Rufinus的回复,在Windows中将ssh密钥复制到剪贴板的快捷方式是:

id_rsa类型。Pub |剪辑

参考文献:

打印到标准输出 复制命令行输出到剪贴板