Eu sou novo no Rails e estava tentando implantar um aplicativo muito simples no Heroku. Este é o segundo aplicativo que eu implanto, e o primeiro que eu consegui fazer muito bem. No entanto, estou tendo alguns problemas com este. Sempre que eu " git push heroku master ", recebo este erro:
! Sua chave com impressão digital xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx não está autorizada a> acessar my_heroku_app.
fatal: a extremidade remota desligou inesperadamente
Eu tentei gerenciar minhas chaves depois de fazer login no heroku. Se eu digitar no meu console " chaves heroku ", então recebo:
Nenhuma chave para o meu endereço de email.
No entanto, se eu executar o comando " heroku keys: add ", recebo
Chave pública existente encontrada: /Users/michele/.ssh/id_rsa.pub Fazendo upload da chave pública ssh /Users/michele/.ssh/id_rsa.pub! A impressão digital já existe. Use uma chave ssh por conta Heroku
Por favor me ajude! Isso é tão frustrante, não tenho idéia do que está errado! Obrigado
heroku logout
, entrei na outra conta e excluí a chave RSA padrão dessa conta. Depois disso, fui capaz de pressionar com essa chave recém-gerada.ssh-add ~/.ssh/id_rsa_heroku
meu,ssh-add ~/.ssh/identity.heroku.foo
porque também estou usando https://github.com/ddollar/heroku-accounts (um gerente de várias contas da Heroku).Eu também tenho várias chaves e várias contas heroku, então me deparei com esse problema a cada poucos meses. Como mencionado Giordano Scalzo, Tom Carchrae e user664833, o principal problema é o ssh-agent, que você controla usando o
ssh-add
comando A página de manual (man ssh-add
) é realmente bastante clara e concisa, então confira.Você pode listar todas as chaves conhecidas pelo ssh-agent:
Você pode excluir todas as chaves conhecidas pelo ssh-agent:
Ou exclua uma chave específica com
Não se preocupe! Na verdade, você não está excluindo as chaves, apenas alterando quais ssh-agent automaticamente tenta usar, por exemplo, quando você tenta enviar para heroku. É fácil adicionar e excluir chaves conforme necessário; portanto, para mim, quando fico frustrado com esse problema, a maneira mais fácil de corrigi-lo é excluir todas as chaves e adicionar apenas a que quero usar no momento.
fonte
Seu computador possui uma chave SSH, mas essa chave está associada a outra conta Heroku.
Se você precisar usar as duas contas para aplicativos diferentes no mesmo computador, crie uma nova chave SSH na sua máquina e faça o upload para o Heroku:
Salve-o como '/Users/User/.ssh/new_id_rsa.pub' quando o prompt solicitar.
Você, então, precisa adicionar um host alternativo para
heroku.com
a sua~/.ssh/config
:E atualize o
.git/config
em seu projeto para usar o alias do host:Ao escolher entre
heroku
eheroku-alt
no controle remoto dos.git/config
arquivos de projetos específicos, você pode gerenciar quais projetos usam quais credenciais.fonte
Host heroku-alt not found: 3(NXDOMAIN)
. Estou colocando isso no terminal no Mountain Lion.~/.ssh/config
também não existe, apenas um monte de.pub
arquivos e um chamadoknown_hosts
. E idéias?Host
,HostName
e asIdentityFile
linhas. Deve funcionar bem.Aqui está uma explicação muito clara que está faltando na documentação do Heroku ou em outras respostas para a pergunta. Pelo menos todas as informações parecem não aparecer em nenhum lugar. Também permite que você entenda o problema de uma maneira que a ferramenta de contas não.
Heroku identifica você de duas maneiras:
O primeiro é em .git / config
Parece permitir que você execute operações básicas usando
heroku
A segunda maneira pela qual o heroku o identifica é por qualquer operação que use ssh (git push). O Heroku o identificará pela sua chave ssh, conforme indicado aqui: https://devcenter.heroku.com/articles/keys
Portanto, cada conta heroku em que você trabalha terá que enviar uma chave diferente para o heroku ao usar o ssh. Siga qualquer tutorial para criar suas chaves ssh.
A chave é fazer com que o SSH use chaves diferentes para cada conta Heroku. Como você configura isso? Você precisará fazer duas coisas:
1) Você precisará criar um domínio 'fictício' para o seu .ssh / config interceptar e reconfigurar. Isso informará ao ssh o domínio 'real' que você deseja e qual chave especial do ssh usar.
2) Altere seu arquivo .git / config para usá-lo ao usar o git push. Em vez de heroku.com, use o domínio fictício definido em seu arquivo .ssh / config
É isso aí :) Um pouco complicado e um pouco simples ao mesmo tempo. Levei três anos batendo minha cabeça contra a parede e tentativa e erro para descobrir essa informação. Deve estar claramente documentado em algum lugar, mas pelo menos é um começo.
fonte
você precisará criar novas chaves e adicioná-las
especifique um novo nome de arquivo depois de executar
então (no meu caso)
fonte
Eu tenho o mesmo problema na semana passada. Este link me ajudou. Espero que ajude um pouco. http://devcenter.heroku.com/articles/keys
fonte
No meu caso,
heroku keys
já tinha a chave correta listada. Então, tudo que eu precisava fazer era correrssh-add /path/to/that/key
e tudo começou a funcionar bem.fonte
Também tenho duas contas Heorku e, como alternativa, "convidei" minha conta principal (aquela cuja chave é usada automaticamente pelo Heroku) como colaboradora do meu projeto.
fonte
Só não quero adicionar a solução para usuários do Windows.
Primeiro download "Putty Key generator"
Crie uma chave com ele OBS, você precisa mover o mouse pela área em branco para gerar aleatoriedade.
Salve suas chaves, lembre-se de renomear sua chave para [name] .pub
Corra
heroku keys:add
no terminal!fonte
No meu caso, o problema era a versão ssh que eu estava usando. Acabei de definir a variável de ambiente GIT_SSH para outra ("GIT_SSH = / usr / bin / ssh") e tudo funcionou bem para mim.
fonte