2013-02-22 15 views
31

Mentre sto cercando heroku login attraverso cmd nella mia macchina, si diceImpossibile generare ssh chiave pubblica per Heroku in Windows 7

Impossibile trovare esistenti chiave pubblica
Vuoi per generare uno? [YN]

Dopo che quando premo 'y' e inseriscilo dice

Generazione di nuove ssh chiave pubblica
Impossibile generare chiave: "ssh-keygen" non è riconosciuto come un interno o comando esterno programma operativo o file batch

Please help me.

+1

Vedere questa risposta precedente: http://stackoverflow.com/a/11771907/538746 –

+0

@ user2098336 sarebbe molto importante scegliere la soluzione che ha risolto i tuoi problemi per aiutare altri programmatori che affrontano lo stesso problema in futuro! –

risposta

34

Heroku toolbelt include la distribuzione git che include ssh-keygen.exe richiesto. L'ho appena trovato in C: \ Programmi \ git \ bin. Individua la tua cartella git e aggiungila al tuo percorso di sistema come descritto qui: superuser.com/questions/284342/

+4

Come per un commento su un'altra risposta, e poiché questo è il più upvoted (come è corretto), noterò: se si utilizza la CLI ** git bash ** per accedere a heroku usando 'heroku auth: login' , sarai in grado di generare una chiave SSH. Se usi una normale shell 'cmd' su Windows con lo stesso comando, dovrai includere la tua directory Git nel tuo PATH; la ragione di questo comportamento è perché, come per ancora [un altro commento] (http://stackoverflow.com/questions/11771378/ssh-keygen-is-not-recognized-as-an-internal-or-external-command/ 11771907 # comment23206229_11771907), Git bash imposta il PERCORSO quando viene eseguito. –

+0

@ChrisCirefice GRAZIE! –

+0

nel mio caso su Win 10 si trova in C: \ Programmi \ Git \ usr \ bin! – CodeToLife

16

Ho avuto lo stesso problema e l'ho appena risolto. Ho installato un altro CMD chiamato Git Bash che è possibile scaricare gratuitamente (http://git-scm.com/downloads) e poi ha ripetuto i comandi e ha funzionato!

+3

Sono abbastanza sicuro che il cinturone heroku include ora git bash, se non al momento del post. Ma, sì, ho fatto lo stesso errore, andando dritto per CMD come è abitudine - lo stesso errore. Dato che ho già avuto git bash, l'ho provato, e ha funzionato con fascino! Grazie. – Todd

+7

L'utilizzo di Git bash l'ha risolto anche per me – Ducain

1

per Win7 gli utenti a 64 bit, il file %HerokuPath%s\bin\ssh-keygen.bat assomiglia:

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

Ma Heroku installa Git in Program Files (x86), quindi se aggiornare il file .bat a:

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

Poi si dovrebbe essere in grado di generare le tue chiavi SSH.

0

di Windows 10-64bit

avevo installato git, quindi Heroku toolbelt (git che credo reinstallato)

ho avuto C\Program Files (x86)\Heroku\bin nella mia variabile ambientale (probabilmente generato quando ho installato Heroku toolbelt) e se ho cercato in quel percorso file che avevo un ssh-keygen.bat - quindi sembrava che dovrei essere in grado di eseguire solo ssh-keygen -t rsa dalla riga di comando.

che sarebbe troppo facile, invece ottengo:

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. 

Soluzione

tipo bashnella riga di comando di andare in modalità bash git quindi eseguire 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: 

Ora, quando guardo in C/User/mamwo/.ssh (il modo migliore per me è attraverso la cartella pycharms - windows sucks) vedo il mio id_rsa e id_rsa.pub

Ma questo problema "non può generare publickeys" è iniziato per me perché ho avuto un problema "Non ho le chiavi pubbliche da aggiungere" quando ho clonato il mio repository (da github) in un nuovo computer e ho scoperto che potrebbe spingere a github ma non heroku.

ora che ho le chiavi - devo aggiungere loro

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] 
Problemi correlati