2013-02-22 11 views
31

Chociaż staram heroku login przez cmd na moim komputerze, to mówiNie można wygenerować ssh klucz publiczny dla Heroku w Windows 7

nie można odnaleźć istniejący klucz publiczny
Chciałbyś wygenerować jeden? [YN]

Następnie po naciśnięciu 'Y' i wprowadź mówi

Tworzenie nowej ssh klucza publicznego
Nie można wygenerować klucz: "ssh-keygen" nie jest rozpoznawana jako wewnętrzny lub zewnętrzny program obsługujący polecenia lub plik wsadowy

Proszę mi pomóc.

+1

Zobacz tę poprzednią odpowiedź: http://stackoverflow.com/a/11771907/538746 –

+0

@ user2098336 byłoby to bardzo ważne, aby wybrać rozwiązanie, które rozwiązało Twoje problemy, aby pomóc innym programistom, którzy stoją przed tym samym problemem w przyszłości! –

Odpowiedz

34

Pasek narzędzi Heroku zawiera dystrybucję git, która zawiera wymagany ssh-keygen.exe. Właśnie znalazłem go w C: \ Program Files \ git \ bin. Zlokalizuj swój folder git i dodaj go do ścieżki systemowej, jak opisano tutaj: superuser.com/questions/284342/

+4

Jak na komentarz do innej odpowiedzi, a ponieważ jest to najbardziej upvoted (jak to jest poprawne), zauważę: jeśli użyjesz ** git bash ** CLI do zalogowania się do Heroku używając 'heroku auth: login' , będziesz mógł wygenerować klucz SSH. Jeśli używasz normalnej powłoki 'cmd' w oknach z tym samym poleceniem, będziesz musiał podać swój katalog Git w swojej zmiennej PATH; powodem tego zachowania jest, ponieważ na jeszcze [inna uwaga] (http://stackoverflow.com/questions/11771378/ssh-keygen-is-not-recognized-as-an-internal-or-external-command/ 11771907 # comment23206229_11771907), Git bash ustawia PATH po uruchomieniu. –

+0

@ChrisCirefice DZIĘKUJEMY! –

+0

w moim przypadku na Win 10 znajduje się w C: \ Program Files \ Git \ usr \ bin! – CodeToLife

16

Miałem ten sam problem i po prostu go rozwiązałem. Zainstalowałem kolejną CMD o nazwie Git Bash, którą można pobrać za darmo (http://git-scm.com/downloads), a następnie powtórzyłem polecenia w tym i zadziałało!

+3

Jestem prawie pewien, że toolbelt heroku zawiera teraz bity git, jeśli nie w czasie postu. Ale, tak, popełniłem ten sam błąd, idąc prosto do CMD, tak jak jest to nawyk - ten sam błąd. Ponieważ miałem już git bash, wypróbowałem to i działało to z wdziękiem! Dziękuję Ci. – Todd

+7

Użycie bitu Git także rozwiązało to dla mnie – Ducain

1

Dla Win7 użytkowników 64-bitowych, plik %HerokuPath%s\bin\ssh-keygen.bat wygląda następująco:

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

Ale Heroku instaluje Git w Program Files (x86), więc jeśli zaktualizować plik .bat:

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

Następnie należy być w stanie wygenerować klucze ssh.

0

Okna 10-64bit

miałem zainstalowany git, a następnie Heroku Toolbelt (co moim zdaniem ponownie zainstalować git)

miałem C\Program Files (x86)\Heroku\bin w moim zmiennej Środowiska (prawdopodobnie generowany po zainstalowaniu Heroku toolbelt) i jeśli zajrzałem do tej listy, miałem ssh-keygen.bat - więc wydawało mi się, że powinienem po prostu uruchomić ssh-keygen -t rsa z linii poleceń.

To byłoby zbyt łatwe, zamiast uzyskać:

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. 

Rozwiązanie

typ bashw wierszu poleceń, aby przejść do trybu bash git następnie uruchomić 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: 

Teraz, gdy patrzę w C/User/mamwo/.ssh (najlepszym sposobem dla mnie jest poprzez folder pycharms - windows jest do bani) Widzę moje id_rsa i id_rsa.pub

Ale to pytanie "nie mogę wygenerować publickeys" wszystko zaczęło się dla mnie, ponieważ miałem problem z "Nie mam kluczy publicznych do dodania", kiedy sklonowałem moje repozytorium (z github) na nowy komputer i odkryłem, że może popchnąć do github, ale nie do heroku.

Teraz mam klucze - Mam do nich dodać

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] 
Powiązane problemy