Estou tentando implantar meu código no heroku com a seguinte linha de comando:
git push heroku master
mas obtenha o seguinte erro:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Eu já carreguei minha chave SSH pública, mas ainda aparece esse erro.
git
heroku
deployment
public-key
vich
fonte
fonte
heroku login
escrever e-mail e senha e tentar novamente.Respostas:
Você precisa enviar sua chave pública para o Heroku:
Se você não possui uma chave pública, o Heroku solicitará que você adicione automaticamente uma que funcione perfeitamente. Apenas use:
Para limpar todas as chaves anteriores, faça:
Para exibir todas as suas chaves existentes, faça:
EDITAR:
O exposto acima não pareceu funcionar para mim. Eu tinha mexido com a
HOME
variável de ambiente e, portanto, o SSH estava procurando por chaves no diretório errado.Para garantir que o SSH verifique a chave no diretório correto, faça:
Que exibirá as seguintes linhas (amostra)
Permission denied (publickey).
Do exposto acima, você pode observar que o ssh procura as chaves no
/c/Wrong/Directory/.ssh
diretório que não é onde temos as chaves públicas que acabamos de adicionar ao heroku (usandoheroku keys:add ~/.ssh/id_rsa.pub
) ( Observe que no sistema operacional Windows~
se refere aoHOME
caminho que no WindowsC:\Users\UserName
7/8 é )Para visualizar o diretório inicial atual, faça:
echo $HOME
ouecho %HOME%
(Windows)Para definir seu
HOME
diretório corretamente (por corretamente, quero dizer o diretório pai do.ssh
diretório, para que o ssh possa procurar chaves no diretório correto), consulte estes links:SO Responda sobre como definir a variável de ambiente Unix permanentemente
SO Pergunta sobre o ssh procurando chaves no diretório errado e uma solução para o mesmo.
fonte
heroku keys:add
ssh-keygen -t rsa -C "[email protected]"
se ainda estiver com o erro, criar outro file.pub e usá-lo no comando recomendado nesta respostaEu tive o mesmo problema, as etapas abaixo funcionaram para mim,
[email protected] e senha
->ssh-keygen -t rsa -f id_rsa
se uma frase secreta não usar espaço em branco, preencha com uma frase secreta, mas não a esqueça.
Depois de gerar a chave, você precisa adicioná-la, assim
e para heroku
altere o diretório para o espaço de trabalho,
use a senha que você definiu acima.
Na verdade, eu também removo os arquivos abaixo, mas não tenho certeza de que eles sejam imp,
C: \ Usuários \ nome_do_usuário.heroku \ credenciais e C: \ Usuários \ nome_do_usuário.ssh \ known_hosts
fonte
Github for Windows
, mas nenhum arquivo id_rsa.git bash
prompt de comando para executar o ssh-keygen. obrigado.Esse problema estava mexendo comigo por alguns dias.
Isso pode ajudar.
1) Descubra quais chaves você possui no Heroku agora.
2) Crie um arquivo ~ / .ssh / config:
Editar com esta informação
fonte
User
nessa última linha. Além disso, ele reclamou do#
comentário, então eu o removi.host
informações ao meu arquivo de configuração resolveu o problema para mim. Criei uma chave heroku rsa e as permissões padrão no heroku.pub geraram um erro quando tenteigit push
. Eu tive quechmod 600 heroku.pub
e então quando eu empurrei funcionou.IdentityFile ~/.ssh/ssh-dss
é o caminho para a chave privada . Você deseja inserir sua chave privada aqui, não sua chave pública .Aqui está o link que explica como gerenciar suas chaves ssh: https://devcenter.heroku.com/articles/keys#adding-keys-to-heroku
fonte
Eu tive o mesmo problema porque não tinha chaves públicas, então fiz:
Isso gerará uma chave pública e funcionará bem
fonte
Se você é um usuário do Windows, as outras soluções aqui provavelmente não resolverão o seu problema.
Eu uso o Windows 7 64-Bit + Git-1.7.7.1-preview20111027 e a solução foi copiar minhas chaves de
C:\users\user\.ssh
paraC:\Program Files (x86)\Git\.ssh
. É aí que esse cliente git procura as chaves ao pressionar heroku.Eu espero que isso ajude.
fonte
%HOME%
variável de ambiente como%USERPROFILE%
.Esta foi a solução para mim:
fonte
chmod 600 ~/.ssh/heroku_rsa
Para compartilhar minha experiência:
O Git (minha própria instalação) estava procurando a chave chamada 'id_rsa'.
Então, tentei renomear minhas chaves como 'id_rsa' e 'id_rsa.pub' e funcionou.
Aliás, tenho certeza de que há outra maneira de fazer isso, mas ainda não parecia mais fundo.
fonte
Se você já fez o upload da chave, tente removê-la e reenvie-a com uma nova chave.
isso deve funcionar.
fonte
Must specify KEY to remove
Eu me matei por 3 dias tentando todas as combinações possíveis para tentar fazer com que isso funcionasse - finalmente tentei fazer uma chave DSA e funcionou.
Experimente o DSA em vez do RSA, se não estiver funcionando para você.
(Estou usando o Ubuntu 11.10, ruby 1.8.7, heroku 2.15.1)
fonte
No Windows 7,64 bits, a solução acima (Onur Turhan) funcionou para mim com pequenas alterações, como abaixo
Digite email / senha
Isso gerou dois arquivos (id_rsa e id_rsa.pub) no meu diretório c: \ Users \ MyName (não no diretório .ssh)
Eu acho que adicionar o arquivo "id_rsa.pub" correto é o mais importante. Depois de gerar a chave pública usando o keygen, verifique se você está adicionando a chave correta, observando o carimbo de data / hora quando ele foi criado.
fonte
Um único comando funciona:
Ele fará um se não existir.
fonte
heroku keys:add
não é uma resposta completa.Eu tive esse problema quando o TortoiseGIT foi instalado na minha máquina. Depois de alterar a variável
GIT_SSH
de ambiente depara
e seguindo este tutorial com
ssh-keygen
ekeys:add
, ele funciona!fonte
Empurrar estava funcionando para mim e depois parou de repente.
Se a API do heroku estiver com tempo de inatividade, você receberá esse erro ao tentar enviar por push.
Verifica:
https://status.heroku.com/
antes de surtar demais.
fonte
Sequência a seguir
Ao executar a segunda instrução, ela solicitaria entrada, basta pressionar Enter (retornar) três vezes e uma tecla será adicionada.
fonte
A resposta dada acima FUNCIONA, mas descobri que precisava executar algumas etapas extras antes que funcionasse.
fonte
Para todos aqueles que tentaram tudo mencionado acima no Windows 7 e ainda assim não funcionou, aqui está o que eu fiz: - abra o GitBash.exe no diretório Git C: \ Arquivos de Programas (x86) \ Git \ (don ' abra um prompt de comando, isso não funcionará). - adicione o seguinte, conforme mencionado acima , mas você deve excluir o #
agora execute git push heroku master e deve funcionar.
fonte
Parece que seu
~/.ssh/authorized_keys
arquivo não está configurado corretamente. Verifique se:~/.ssh
são 0700.fonte
Eu tive que fazer:
Então funcionou:
fonte
Verifique sua configuração .ssh para o heroku. Vá para a pasta .ssh e abra o arquivo de configuração
O 'subl' é para Sublime Text, mas você pode usar o editor que desejar. Procure a linha "IdentityFile" e verifique se a chave não pública está listada:
não
Isso fez por mim. Não sei por que o meu tinha a versão pública no arquivo de configuração, mas teve e estava lançando o erro:
fonte
Eu ainda estava tendo problemas depois de tentar todas essas idéias. Este foi o meu problema:
Meu repositório heroku remoto estava cheio. Atualizei-o da seguinte forma:
Em seguida, remova o heroku que está errado:
Em seguida, adicione o novo
Você pode obter o nome do site na página de configurações do Heroku para seu aplicativo. Boa sorte!
fonte
O problema que enfrentava estava no Windows e, invariavelmente, sempre que eu executava as "chaves heroku: adicione", ele selecionava as chaves do github. Então, aqui estão as etapas que segui para resolver o problema
O comando acima me pediu para gerar uma nova chave e a seguir foi a saída Não foi possível encontrar uma chave pública existente. Deseja gerar um? [Yn] Y Gerando nova chave pública SSH. Carregando a chave pública SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub ... pronto! A gema 'heroku' foi descontinuada e substituída pelo Heroku Toolbelt, faça o download e instale em https://toolbelt.heroku.com .
O comando acima não fornecerá a seguinte saída encontrada Chave pública existente: C: / Documents and Settings / Admin / .ssh / id_rsa.pub Fazendo upload da chave pública SSH C: / Documents and Settings / Admin / .ssh / id_rsa.pub .. . feito
para mim, usar as etapas acima resolveu o problema e conseguiu implantar o aplicativo na nuvem.
fonte
Eu estava enfrentando o mesmo problema; seguir estas etapas deve ajudar:
.pub
arquivos eknow_host
) em.ssh/ folder
fonte
Permission denied (publickey).
Gostaria apenas de acrescentar que o diretório não é necessariamente C: \ Users \ [nome de usuário] \ .ssh. É o diretório em que você criou sua chave pública.
Por exemplo, meu diretório pessoal no Windows foi alterado para C: \ [nome de usuário]. Seu diretório pessoal em uma subpasta .ssh é o melhor e mais provável local em que você pode ter criado suas chaves. Você pode verificar seu diretório pessoal no Windows com o comando:
fonte
Se você deseja usar "sudo", exemplo:
você também deve gerar a chave ssh para seu usuário root.
e vai funcionar.
se você não usar o usuário root, gere a chave ssh no diretório do usuário.
Desculpe se minhas frases estragaram ...
fonte
Tente reparar as permissões no Utilitário de Disco (Mac OS X). Me ajudou
fonte
Primeiro, verifique se os arquivos ocultos estão visíveis no seu Mac. Caso contrário, faça:
defaults write com.apple.Finder AppleShowAllFiles TRUE
killall Finder
Próximos passos:
Users/user_name/.ssh/
remover todos os arquivos.ssh-keygen -t dsa
heroku keys:add ~/.ssh/id_dsa.pub
NB eu fiz isso no Mac OSX 10.7.2 Lion. Embora o procedimento deva ser o mesmo em outros também.
fonte
Eu tenho esse problema também. Estou usando o Mac OSX. A maneira que eu consertei isso era entrar como administrador
fonte
Solução de dmajkic finalmente me ajude:
Para usuários do Windows, isso pode significar: o cliente git não encontrou suas chaves. Verifique as chaves em c: \ Users \ UserName.ssh \ e! variável de ambiente HOME = c: \ Users \ UserName \
fonte
Aqui está o que funcionou para mim. O site heroku não está sendo adicionado aos seus hosts conhecidos. Vá para os repositórios window-other-show view-git-git. A partir daí, clone o repositório. Depois de cloná-lo, exclua o repositório que acabou de ser criado e importe-o no menu Arquivo. Faça isso desde que quando você clona o repositório, ele não o adiciona à visualização do explorer. Agora você deve ter o repositório git e a visualização explorer.
fonte