Estou tendo problemas ao trabalhar com várias contas Heroku no meu computador.
O fato é que funcionou muito bem antes, trocando de conta com a gema heroku. Mas agora (embora eu tenha gerado novas chaves SSH) não funcionará.
Quando eu faço um, git push heroku master
ele apenas diz:
[email protected] não autorizado a acessar my_app_name
Alguém tem algum conselho sobre como eu poderia resolver isso?
Respostas:
Você precisa se certificar de que está usando a chave ssh correta.
A maneira de fazer isso (e a maneira como o plug-in de contas do heroku solicita a você) é adicionar uma seção ao seu arquivo de configuração ssh em ~ / .ssh / config. Por exemplo, para minha conta de trabalho heroku, tenho isso em minha configuração de ssh:
Agora, e isso é crucial, você precisa se certificar de que seu git remoto está configurado para usar o mesmo host nomeado . Neste caso, é heroku.work . Normalmente seria o heroku.com se você estivesse usando o heroku com apenas uma conta.
Portanto, você precisará editar o git remote (você pode fazer isso no
.git/config
arquivo de seu repo em sua máquina). Altere o arquivo para se parecer com:Observe o heroku. trabalho , não heroku. com e substitua <appname> pelo nome do seu aplicativo (também conhecido como nome do repo) no heroku.
fonte
.ssh/config
torná-lo queheroku.work
resolve paraheroku.com
Resolvi isso usando o plugin heroku-accounts
veja aqui as instruções
http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/
fonte
Você tem que ser aceito como um colaborador no projeto que você não possui.
Funciona assim (usando git):
E isso deve ser tudo pessoal; você só precisa empurrar o outro controle remoto ao implantar no outro aplicativo.
fonte
Eu adicionaria algumas coisas sobre o plugin heroku-accounts ... este exemplo assume que sua conta heroku pré-existente será heroku.work e você está adicionando uma nova conta heroku.personal.
Ele também descreve como mover um aplicativo de um para o outro, por exemplo, se você atingiu seu máximo de 25 aplicativos e está criando uma nova conta e deseja mover alguns de seus projetos paralelos e aplicativos experimentais de sua conta principal.
heroku accounts:set personal
) até depois de transferir o aplicativo usando o comandosharing
heroku conforme descrito https://devcenter.heroku.com/articles/transferring-appsPortanto, as etapas de que você provavelmente precisa são:
heroku accounts:add work --auto
para criar uma nova conta heroku.work para substituir sua conta padrão antiga (então use as mesmas credenciais que você usou o tempo todo). Você TAMBÉM precisa fazer o upload de sua nova chave para o heroku:heroku keys:add ~/.ssh/identity.heroku.work.pub
heroku accounts:add personal --auto
para criar uma nova conta heroku.personal (por exemplo, use suas novas credenciais para sua nova conta heroku). Você TAMBÉM precisa fazer o upload de sua nova chave para o heroku:heroku keys:add ~/.ssh/identity.heroku.personal.pub
heroku accounts:set work
(tudo o que faz é configurar git para usar seu heroku.work, que é (não neste exemplo) a mesma conta heroku que você está usando o tempo todo, só que agora é chamada de heroku. trabalhos.heroku sharing:add <new owner email>
(b) em seu diretório local, mude o aplicativo para heroku.personal usandoheroku accounts:set personal
(c) transferência ** o aplicativo da conta antiga para a nova conta usandoheroku sharing:transfer <new owner email>
e (d) remover o colaborador de endereço de e-mail antigo (se desejar) usandoheroku sharing:remove <old owner email>
** Observe que o link heroku que forneci informa que existem requisitos especiais para mover um aplicativo com quaisquer recursos pagos. Geralmente, remova os recursos pagos e, em seguida, adicione-os novamente mais tarde ou peça ajuda para fazer isso.
fonte
O plug-in Heroku https://github.com/ddollar/heroku-accounts foi descontinuado. Heroku agora mantém o seu próprio em https://github.com/heroku/heroku-accounts . Infelizmente, não parece armazenar projeto por projeto qual conta ele deve estar usando, então você precisa executar
cada vez que você quiser usar a ferramenta de linha de comando Heroku.
Solução rápida para pessoas com acesso ao shell bash: crie um diretório bin local (já está lá nos aplicativos Rails) e crie bin / heroku lá. Conteúdo:
(substitua "project_name" conforme apropriado) Em seguida, execute
$ chmod + x bin / heroku
Você pode então correr
console de execução $ bin / heroku
e usará automaticamente a conta Heroku certa para você. Melhor ainda é adicionar ./bin ao seu caminho para que você volte a apenas executar:
$ heroku run console
fonte
Comecei a usar o plugin heroku-accounts, mas então percebi que meu amigo poderia simplesmente me tornar um colaborador em sua conta heroku e isso era tudo o que era necessário.
fonte
Para fazer isso funcionar para mim com o console Git e Heroku, eu tive que adicionar create the ssh config conforme instruído por bantic, mas também tive que criar dois remotos para minha configuração .git:
fonte
Isso tem me incomodado há algum tempo e nunca encontrei uma solução que gostasse. Finalmente encontrei um.
(Resposta específica do OS X.)
Você pode apenas criar novos usuários. Vá para Preferências do Sistema -> Usuários e Grupos -> Adicionar usuário ou botão de grupo. Você pode criar alguns usuários para contas diferentes do heroku, acabei de nomear meu usuário1, usuário2, etc.
Em seguida, vá para Preferências do sistema -> Compartilhamento -> Login remoto -> Permitir acesso para: Todos os usuários
Neste ponto, você pode ir a um terminal e fazer o seguinte:
Então você pode fazer coisas assim:
fonte
Usei nano .git / config e substituí o valor do url do "heroku" remoto por heroku.com> apps> configurações> Reveal config vars> Heroku Git URL
fonte
Eu tenho exatamente o mesmo problema.
Esta não é a resposta, mas uma solução temporária é adicionar seu e-mail heroku "padrão" como um colaborador para o aplicativo que você não pode acessar.
fonte
eu estou usando win7
1) crie outra conta de usuário no win7 e faça login nela
2) abra o git bash e faça login em sua nova conta do heroku
3) criar e fazer upload de uma nova chave RSA (instruções aqui: https://devcenter.heroku.com/articles/keys )
4) depois, faça o que quiser (crie um novo aplicativo, envie o arquivo para ele .....)
5) toda vez que você precisar trabalhar com sua conta original do heroku, apenas entre em sua conta de usuário win original e trabalhe com o heroku
fonte
crie uma nova chave pública / privada para o novo e-mail como segue
1) ssh-keygen -t rsa -C "[email protected]"
2) forneça um novo nome de arquivo no qual salvar a chave (/home/.ssh/seckey)
3) Em seguida, adicione sua nova chave ao ssh-agent: - ssh-add ~ / .ssh / seckey
4) Em seguida, adicione sua nova chave ao heroku: - chaves heroku: adicione ~ / .ssh / seckey
5) adicione o arquivo de configuração SSH como ~ / .ssh / config e o conteúdo como segue
Host heroku.com Hostname heroku.com Porta 22 IdentitiesSomente sim IdentityFile ~ / .ssh / seckey Usuário [email protected]
Host heroku.com Nome do host heroku.com Porta 22 IdentitiesSomente sim IdentityFile ~ / .ssh / id_rsa Usuário [email protected]
6) clonar o código usando
a) git clone [email protected]: your-application.git b) heroku git: clone -a your-application
fonte
Instale o plugin Heroku-accounts e configure-o !!
Instalação
Uso
Para adicionar contas:
Para listar contas:
Para mudar para uma conta diferente:
Para encontrar a conta corrente:
Para remover uma conta:
definido para sua conta de trabalho heroku e enviar as alterações.
fonte
Edite sua configuração para esse projeto, definindo o e-mail correto. Da raiz desse repositório,
git config user.email <heroku email>
fonte