Heroku项目的git克隆失败

8

在 Mac 上,我正在尝试从我的新电脑克隆项目。首先生成了ssh密钥对:

heroku keys:add /Users/y/.ssh/heroku_rsa.pub

heroku keys 显示如下:

ssh-rsa AAAAB3NzaC...B9DjpXg3fb y@server.local

当我尝试通过 git clone git@heroku.com:xyz.git 克隆我的项目时

Cloning into xyz...
Warning: Permanently added the RSA host key for IP address '50.19.85.132' to the list of known hosts.
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

这很奇怪。

编辑:如果我不重命名我的公钥文件,那么它就可以工作。不知何故,Heroku 不喜欢我重命名我的密钥...换句话说,请使用默认的 id_rsa.pub 名称。


你是否定义了%HOME%C:/Users/y?(你是否定义了%HOME%?) - VonC
你是否将私钥添加到了 ~/.ssh/authorized_keys(或者 SSH 服务器指定的其他位置)?如果没有,SSH 服务器将无法使用私钥进行身份验证。 - Tarek Fadel
我没有authorized_keys文件。在我的以前的机器上,我从未需要写入这样的文件。 - Morrowless
3个回答

15

我有一个类似的问题。起初,我没有一个名为id_rsa.pub的密钥,我只有一个用于github的密钥:github_rsa.pub。我运行了heroku keys命令,并看到它确实能够识别我的密钥。但显然heroku不喜欢那个github密钥。这是我所做的:

$ssh-keygen -t rsa
$heroku keys:clear
$heroku keys:add 
$git clone git@heroku.com:my-app.git -o heroku

这个命令成功地下载了项目的所有文件。

翻译:并且你知道吗...在此之后它一直告诉我...克隆到'strong-spring-610-218'...! 没有名为strong-spring-610-218的应用程序。致命错误:远程端意外挂断 - Master345
如果您已经拥有密钥,则无需执行以下操作:$ssh-keygen -t rsa,因此跳过该步骤;从$heroku keys:clear开始;然后使用$heroku keys:add,它将提示您添加密钥列表;不要选择github的密钥-在我的情况下,我选择了id_rsa.pub;然后运行最后一行以克隆我的应用程序-非常感谢gstroup! - headwinds
1
太棒了,heroku keys:clear然后keys:add正是我所需要的,谢谢! - FireDragon

9

看起来您的密钥未加载。默认情况下,只有默认命名密钥(id_rsa)会被加载。使用ssh-add命令加载Heroku密钥:

ssh-add ~/.ssh/heroku_rsa

1
heroku git:clone -a "your_project_name_on_heroku"

这个简单的命令很好用(前提是你已经正确添加了ssh密钥)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接