我刚买了一台新电脑,我正试图克隆我的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时,它拉动并工作,实际上是我的存储库。
答案 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