17

我刚买了一台新电脑,我正试图在上面克隆我的 heroku 项目。

这是我到目前为止所做的。我没有包括跟踪,但所有内容都保存在正确的位置,并且函数运行没有错误。

>> sudo ssh-keygen
>> heroku keys:add
>> sudo git clone -o heroku git@heroku.com:myapp.git

Initialized empty Git repository in /Users/macuser/Sites/shwagr/shwagr/.git/
Permission denied (publickey).

然后我听说通过 ssh bash 来做这件事。

>ssh-agent bash
>ssh-add ~/.ssh

Permissions 0777 for '/Users/macuser/.ssh' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

什么?好的爸爸..

>>sudo chmod 700 ~/.ssh
>>ssh-agent bash
>>ssh-add ~/.ssh
Enter passphrase for /Users/macuser/.ssh: 
Bad passphrase, try again for /Users/macuser/.ssh: 
Bad passphrase, try again for /Users/macuser/.ssh: 
Bad passphrase, try again for /Users/macuser/.ssh: 
Bad passphrase, try again for /Users/macuser/.ssh: 
Bad passphrase, try again for /Users/macuser/.ssh: 
Bad passphrase, try again for /Users/macuser/.ssh:

不知道这里的密码是什么,但肯定不是我设置的。如果我只是按回车键,它会退出,但这并没有给我留下它有效的印象。因此,它仍然不允许我克隆存储库。

有任何想法吗?

更新 我进入我的 ~/.ssh 文件并执行ssh-keygen -t rsa并创建了一个名为love. 然后我heroku keys:add love.pub成功了。

然后我去了 git clone ..

sudo git clone -o heroku git@heroku.com:mysite.git

Initialized empty Git repository in /Users/macuser/Sites/shwagr/shwagr/.git/
Permission denied (publickey).

更新 2

我删除了 ~/.ssh,并在没有sudo. 然后我从 heroku 中删除了我今天创建的所有密钥,并重新启动了该过程。

同样的错误。

更新 3

>>heroku keys

  No Keys for this computer.

>>sudo heroku keys

  No Keys for this computer

>>heroku keys:add

>>heroku keys

ssh-rsa AAAA...J67lw== macuser@Mac-Users-MacBook-Pro.local

将这些键与我的键进行比较:它们是相同的。:D

没有权限。

尝试 4

heroku 键:清除 rm -rf ~/.ssh mkdir ~/.ssh cd ~/.ssh ssh-keygen -t rsa heroku 键:添加 cd /Users/macuser/Sites/ sudo git clone -o heroku git@heroku.com :shwagr.git

失败的。

致命:远端意外挂断

巨大的更新

刚刚发现 git repo 实际上是空的。它只是一个符号链接(当您附加一个真实的域时,它仍然使用旧的作为真正的 repo)。因此,当我提取 Heroku 的一个默认名称(如 smooth-buttery-back-52.git )时,它提取并工作,实际上是我的存储库。

4

6 回答 6

11

我按照heroku提供的步骤进行了操作,并且成功了。一旦你生成了 ssh 密钥(不管你如何称呼这些文件),只需执行以下操作:

> heroku login
> heroku keys:add

第一条语句提示您输入 heroku 用户名/密码。一旦您通过身份验证,运行第二个命令会选择您的所有公钥并将其推送到 heroku.com。之后,您可以运行 git clone ,它会像魅力一样工作!

于 2012-03-09T12:42:56.920 回答
6
>> sudo ssh-keygen

不。放弃 sudo。这将为 root 用户创建密钥,而不是您的用户。好吧,当然除非出于某种奇怪的原因您想使用root。但是,您需要在所有将要使用此键的相关命令前加上sudo.

于 2010-08-28T14:50:22.300 回答
3

https://devcenter.heroku.com/articles/keys#adding_keys_to_heroku 它对我有用:

$ heroku 键:添加

于 2012-04-13T09:15:27.427 回答
3

如果你已经完成了

heroku keys:add

仍然出现错误,请尝试

ssh-add
于 2015-04-08T11:40:34.660 回答
2

这是 heroku 管理您帐户的插件。 https://github.com/ddollar/heroku-accounts

于 2012-06-25T23:00:28.750 回答
1

您为您的 sudo 帐户创建了一个密钥,但没有为您的用户帐户创建一个密钥,并且您没有sudo heroku keys:add上传本地用户密钥而不是 sudo 密钥,我猜。为什么您希望您的主目录中的本地应用程序仍然具有 sudo 权限?我可能会 x sudo 并按照本教程作为您的用户进行操作:http: //docs.heroku.com/keys

于 2010-08-28T14:49:52.753 回答