2

我一直在尝试在 Heroku 上克隆一个项目。

我已经检查过我的密钥 ( id_rsa.pub) 是否已通过添加到 Herokuheroku keys:add并且它正确显示在heroku keys:status

但是,当我这样做时git clone,我得到Permission denied (public key). 这让我相信我的 ssh 设置不正确。请注意,我正在使用 Ubuntu 机器。

为了进一步调试,我尝试克隆一个 github 存储库。这证实了我的信念,在使用 https 而不是 ssh 时有效(同样的错误)。

我的问题:

如何确定 git 尝试使用哪个私钥来执行克隆操作。

此外,我尝试将一个config文件添加到我的.ssh文件夹中,内容如下:

Host heroku.com
Hostname heroku.com
IdentityFile ~/.ssh/id_rsa
4

1 回答 1

0

请注意,如果您使用的是 ssh 配置文件,您应该:

  • 没有像主机名那样命名它(heroku例如,主机就足够了)
  • 添加用户 ( git)

配置规范背后的想法是:

  • 管理多个heroku帐户
  • 还要有更短的ssh url。
    (真的不需要git@...在每个ssh url前面重复:用户总是' git'在这里)。

你的配置文件应该是:

Host heroku
Hostname heroku.com
User git
IdentityFile ~/.ssh/id_rsa

您的 ssh 网址应为:

ssh://heroku:appname.git
于 2013-10-05T08:23:54.030 回答