【发布时间】:2010-08-28 14:26:55
【问题描述】:
我刚买了一台新电脑,我正在尝试在上面克隆我的 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 /用户/macuser/站点/ sudo git clone -o heroku git@heroku.com:shwagr.git
失败。
致命:远端意外挂断
巨大的更新
刚刚发现 git repo 实际上是空的。它只是一个符号链接(当您附加一个真实的域时,它仍然使用旧的作为真正的 repo)。因此,当我提取 Heroku 的一个默认名称(如 smooth-buttery-back-52.git )时,它提取并工作,实际上是我的存储库。
【问题讨论】:
-
ok
heroku keys:remove your_user@your_host删除您现在所在主机的当前密钥。然后做heroku keys进行验证。然后再次执行heroku keys:add以重新添加它。然后使用heroku keys再次验证 - 将它显示的密钥与您的~/.ssh/id_rsa.pub进行比较。 -
如有必要,您是否使用
sudo进行了rm -rf /Users/macuser/Sites/shwagr/shwagr/.git/?您的克隆命令也如下所示:git clone git@heroku.com:mysite.git -o heroku? -
告诉我,除了您的 rsa 之外,您还有生成的密钥吗?我似乎记得有人在默认情况下使用他们的 dsa 密钥时遇到问题(您可以在
.ssh/config中将默认值设置为 rsa),而且您可能不希望将密钥命名为 id_TYPE.pub 以外的任何其他名称,否则您将也必须为此做一些配置设置。 -
我只是想到了一些事情...尝试将您的
~/.heroku目录移开并重新设置...我认为那里没有任何东西会弄乱它,但也许试一试。此外,如果您有~/.gitconfig,请确保其中没有任何冲突。 -
嗯,是的,事实证明那个 git repo 中没有任何内容,而且我的密钥确实有效。我为该应用程序命名了,而 repo 实际上并没有以该名称保存,它保存在它出现的默认名称上。我是慢热型。非常感谢prodigitalson。享受我要给你的业力。
标签: ruby-on-rails git ssh heroku git-clone