我会非常详细,因为我遵循了有关相关问题的建议,但没有奏效。
我在 Mac OS X 10.7 上试图让两个 heroku 帐户工作。让我们称这些帐户first
和second
要开始清理,我删除了 中的密钥~.ssh/
,
heroku keys:remove
在两个帐户上运行以删除现有密钥,并运行 ssh-add -D 以删除现有条目(换句话说:~.ssh/ 为空,除了 known_hosts;heroku keys
说我没有密钥,并且 ssh-add -L 表示没有条目。
我heroku login
进入第一个帐户并运行这些:
ssh-keygen -t rsa -C "first@example.com" -f ~/.ssh/id_rsa_first
ssh-add ~/.ssh/id_rsa_first
heroku keys:add ~/.ssh/id_rsa_first.pub
然后我进入第二个帐户并运行这些heroku logout
:heroku login
ssh-keygen -t rsa -C "second@example.com" -f ~/.ssh/id_rsa_second
ssh-add ~/.ssh/id_rsa_second
heroku keys:add ~/.ssh/id_rsa_second.pub
在这两种情况下,我都会记下关键指纹,我将其称为fingerprint_first
和fingerprint_second
。
现在我heroku login
可以正常工作,然后first
在第二个应用程序上失败,出现错误git push heroku master
heroku login
second
git push heroku master
! Your key with fingerprint fingerprint_first is not authorized to access second-app-name.
如果我用 将其从 ssh 列表中删除ssh-add -d ~/.ssh/id_rsa_first
,则git push heroku master
可以在第二个应用程序上使用,但现在如果我回到第一个应用程序和heroku login
第一个帐户,git push heroku master
当然会失败。
请帮忙 :)