ti-enxame.com

Não foi possível gerar a chave pública ssh para heroku no Windows 7

Enquanto estou tentando heroku login através do cmd na minha máquina, diz

Não foi possível encontrar a chave pública existente
Deseja gerar um? [YN]

Depois disso, quando eu pressiono 'y' e digito, diz

Gerando nova chave pública ssh
Não foi possível gerar a chave: "ssh-keygen" não é reconhecido como um programa operacional ou comando de arquivo interno ou externo

Por favor me ajude.

31
Suman Sapkota

O Heroku toolbelt inclui distribuição git, que inclui o ssh-keygen.exe necessário. Acabei de encontrá-lo em C:\Arquivos de Programas\git\bin. Localize sua pasta git e adicione-a ao caminho do sistema, conforme descrito aqui: superuser.com/questions/284342/

34
stys

Eu tive o mesmo problema e apenas o resolvi. Eu instalei outro CMD chamado Git Bash que você pode baixar gratuitamente ( http://git-scm.com/downloads ) e depois repeti os comandos e funcionou!

16
GER

Para usuários Win7 de 64 bits, o arquivo %HerokuPath%s\bin\ssh-keygen.bat Se parece com:

@SETLOCAL
@SET HOME=%USERPROFILE%
@"%HerokuPath%\..\Git\bin\ssh-keygen.exe" %*

Mas o Heroku instala o Git em Program Files (x86), portanto, se você atualizar o arquivo .bat Para:

@SETLOCAL
@SET HOME=%USERPROFILE%
@"C:\Program Files (x86)\Git\bin\ssh-keygen.exe" %*

Então você poderá gerar suas chaves ssh.

1
Steve Eynon

Windows 10-64bit

Eu tinha instalado o git, então o heroku toolbelt (que eu acho que reinstalou o git)

Eu tinha C\Program Files (x86)\Heroku\bin na minha variável Ambiental (provavelmente gerada quando instalei o heroku toolbelt) e se eu olhasse nesse caminho de arquivo eu tinha um ssh-keygen.bat - então parecia que eu deveria poder executar ssh-keygen -t rsa na linha de comando.

Isso seria muito fácil, em vez disso, recebo:

C:\Program Files (x86)\Git\bin>ssh-keygen -t rsa -f id_rsa
'"C:\Program Files (x86)\Heroku\..\Git\bin\ssh-keygen.exe"' is not recognized as an internal or external command,
operable program or batch file.

Solução

digite bashna linha de comando para entrar no modo git bash e execute ssh-keygen -t rsa

git bash:

[email protected] MINGW32 /bin
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/mamwo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/mamwo/.ssh/id_rsa.
Your public key has been saved in /c/Users/mamwo/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:MMMYYYPPPUUUBBBLLIIICCKKEEEEYYYY [email protected]
The key's randomart image is:

Agora, quando olho em C/User/mamwo/.ssh (a melhor maneira para mim é através da pasta pycharms - o Windows é uma merda), vejo meu id_rsa e id_rsa.pub

Mas esse problema de 'não é possível gerar chaves públicas' foi iniciado para mim porque eu tinha um problema 'Não tenho chaves públicas para adicionar' quando clonei meu repositório (do github) em um novo computador e descobri que eu podia enviar para o github, mas não heroku.

Agora que tenho as chaves - tenho que adicioná-las

C:\Users\mamwo\Desktop\mv>git Push heroku master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

C:\Users\mamwo\Desktop\mv>heroku keys
You have no keys.

C:\Users\mamwo\Desktop\mv>heroku keys:add
Found an SSH public key at C:/Users/mamwo/.ssh/id_rsa.pub
Would you like to upload it to Heroku? [Yn]
0
amchugh89