我会非常详细,因为我遵循
related question的建议,但它没有用.
我在Mac OS X 10.7上尝试让两个heroku帐户工作.我们先将这些帐户称为第一和第二
为了开始清理,我删除了〜.ssh /中的键,运行
heroku密钥:删除两个帐户以删除现有密钥,并运行ssh-add -D删除现有条目(换句话说:〜.ssh /为空,除了known_hosts; heroku密钥表示我没有密钥,并且ssh-add -L表示没有条目.
我heroku登录到第一个帐户,我运行这些:
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注销和heroku登录到第二个帐户,我运行这些:
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登录到第一个并且git push heroku master工作正常,然后heroku登录到第二个应用程序并且git push heroku master失败,出现错误
! Your key with fingerprint fingerprint_first is not authorized to access second-app-name.
如果我使用ssh-add -d~ / .ssh / id_rsa_first从ssh列表中删除它,那么git push heroku master可以在第二个应用程序上运行,但现在如果我回到第一个应用程序并且heroku登录到第一个帐户, git push heroku master当然失败了.
请帮忙 :)
最佳答案 最后,
this answered it.
我从头开始重新启动,删除所有密钥,并添加了David Dollar’s plugin heroku-accounts
现在它可以工作,我甚至不需要在切换项目时注销/,因为我可以在每个项目目录上设置一个Heroku帐户.