git clone heroku ssh权限被拒绝

时间:2010-08-28 14:26:56

标签: ruby-on-rails git ssh heroku git-clone

我刚买了一台新电脑,我正试图克隆我的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实际上是空的。它只是一个符号链接(当你附加一个真实的域时,它仍然使用旧域作为真正的回购)。因此,当我拉出Heroku的默认名称之一,如smooth-buttery-back-52.git时,它拉动并工作,实际上是我的存储库。

6 个答案:

答案 0 :(得分:11)

我按照heroku提供的步骤进行操作。生成ssh密钥后(无论您将文件称为什么),只需执行以下操作:

> heroku login
> heroku keys:add

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

答案 1 :(得分:6)

>> sudo ssh-keygen

NO。放弃sudo。这将为root用户而不是您的用户创建密钥。好吧,除非出于一些奇怪的原因你想要使用root。但是,您需要将所有将使用此密钥的相关命令加上sudo前缀。

答案 2 :(得分:3)

https://devcenter.heroku.com/articles/keys#adding_keys_to_heroku 它与我合作:

  

$ heroku键:添加

答案 3 :(得分:3)

如果你已经完成了

heroku keys:add

仍然出现错误,请尝试

ssh-add

答案 4 :(得分:2)

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

答案 5 :(得分:1)

你为你的sudo帐户创建了一个密钥,但没有为你的用户帐户创建密钥而你没有sudo heroku keys:add所以它上传了本地用户密钥而不是sudo密钥,我猜。为什么您希望主目录中的本地应用程序具有sudo权限?我可能会修改sudo,然后按照本教程的用户那样做:http://docs.heroku.com/keys