2013-02-22 35 views
31

Trong khi tôi đang cố gắng heroku login qua cmd trong máy tính của tôi, nó nóiKhông thể tạo ssh khóa công khai cho Heroku trong Windows 7

không thể tìm thấy hiện công then chốt
Bạn có muốn tạo một? [YN]

Sau đó khi tôi nhấn 'y' và nhập nó nói

Tạo ssh mới công chính
Không thể tạo chủ chốt: "ssh-keygen" không được công nhận là một nội hoặc chương trình có thể hoạt động lệnh bên ngoài hoặc tệp lô

Hãy giúp tôi.

+1

Xem câu trả lời trước đây: http://stackoverflow.com/a/11771907/538746 –

+0

@ user2098336 nó sẽ rất quan trọng để lựa chọn giải pháp giải quyết những rắc rối của bạn để giúp các lập trình viên khác đối mặt với cùng một vấn đề trong tương lai! –

Trả lời

34

Bộ công cụ Heroku bao gồm phân phối git bao gồm ssh-keygen.exe bắt buộc. Tôi vừa tìm thấy nó trong C: \ Program Files \ git \ bin. Tìm thư mục git của bạn và thêm nó vào đường dẫn hệ thống của bạn như được mô tả ở đây: superuser.com/questions/284342/

+4

Theo nhận xét về câu trả lời khác và vì đây là câu trả lời nhiều nhất (vì nó là chính xác), tôi sẽ lưu ý: nếu bạn sử dụng ** git bash ** CLI để đăng nhập vào heroku bằng cách sử dụng 'heroku auth: login' , bạn sẽ có thể tạo khóa SSH. Nếu bạn sử dụng một shell 'cmd' bình thường trên các cửa sổ có cùng lệnh, bạn sẽ cần phải bao gồm thư mục Git của bạn trong PATH của bạn; lý do cho hành vi này là vì, theo [bình luận khác] (http://stackoverflow.com/questions/11771378/ssh-keygen-is-not-recognized-as-an-internal-or-external-command/ 11771907 # comment23206229_11771907), Git bash đặt PATH khi nó chạy. –

+0

@ChrisCirefice CẢM ƠN BẠN! –

+0

trong trường hợp của tôi trên Win 10 nó nằm trong C: \ Program Files \ Git \ usr \ bin! – CodeToLife

16

Tôi đã gặp phải vấn đề tương tự và chỉ giải quyết nó. Tôi cài đặt một CMD gọi là Git Bash mà bạn có thể tải về miễn phí (http://git-scm.com/downloads) và sau đó lặp lại các lệnh trong đó và nó đã làm việc!

+3

Tôi khá chắc chắn rằng các toolbelt heroku bao gồm git bash bây giờ, nếu không phải tại thời điểm bài viết. Nhưng, yeah, tôi đã phạm sai lầm tương tự, đi thẳng cho CMD như là thói quen - cùng một lỗi. Kể từ khi tôi đã có git bash, hãy thử điều đó, và nó làm việc quyến rũ! Cảm ơn bạn. – Todd

+7

Sử dụng Git bash cũng đã giải quyết nó cho tôi – Ducain

1

Đối với Win7 sử dụng 64-bit, các tập tin %HerokuPath%s\bin\ssh-keygen.bat trông giống như:

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

Nhưng Heroku cài đặt Git trong Program Files (x86), vì vậy nếu bạn cập nhật các tập tin .bat tới:

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

Sau đó, bạn nên có thể tạo khóa ssh của bạn.

0

của Windows 10-64bit

Tôi đã cài đặt git, sau đó Heroku toolbelt (git mà tôi nghĩ rằng cài đặt lại)

tôi đã C\Program Files (x86)\Heroku\bin trong biến môi trường của tôi (có lẽ được tạo ra khi tôi cài đặt Heroku toolbelt) và nếu tôi nhìn vào filepath mà tôi đã có một ssh-keygen.bat - vì vậy nó có vẻ như tôi sẽ có thể chỉ cần chạy ssh-keygen -t rsa từ dòng lệnh.

Đó sẽ là quá dễ dàng, thay vào đó tôi nhận được:

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. 

Giải pháp

loại bashtrong dòng lệnh để đi vào chế độ bash git sau đó chạy 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: 

Bây giờ khi tôi xem trong C/User/mamwo/.ssh (cách tốt nhất cho tôi là thông qua thư mục pycharms - windows sucks) Tôi thấy id_rsa và id_rsa của mình.Tuy nhiên, vấn đề 'không thể tạo ra khóa công khai' này bắt đầu vì tôi có vấn đề 'Tôi không có khóa công khai để thêm' khi tôi sao chép repo của tôi (từ github) sang máy tính mới và thấy rằng tôi có thể đẩy đến github nhưng không phải là heroku.

Bây giờ tôi có các phím - Tôi có để thêm chúng

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] 
Các vấn đề liên quan