2010-02-24 59 views
13

Tôi đang thiết lập git trên máy tính Windows 7 mới của mình và tôi đang gặp phải rào cản khi nói đến việc nhận được github để xác nhận khóa ssh của mình. Tôi đang làm những điều khác biệt một chút so với kịch bản tiêu chuẩn trong đó tôi không muốn sử dụng Cygwin và thích sử dụng dấu nhắc PowerShell của tôi. Sau đây là những gì tôi đã làm:Kết nối git với github trên windows 7 mà không cần bash

  1. Tôi đã cài đặt msysgit (di động).
  2. Tôi đã đi đến C: \ program files \ git \ bin và sử dụng ssh-keygen để tạo ra một cặp khóa ssh công khai/riêng tư mà tôi đặt trong c: \ Temp
  3. Sau đó, tôi tạo một thư mục có tên .ssh \ in c : \ Users \ myusername \ (trên windows 7)
  4. Tôi đã chuyển cả hai tệp được tạo ra bởi ssh-keygen (id_rsa và id_rsa.pub) vào thư mục .ssh
  5. Tôi đã chuyển đến tài khoản của mình trên github, đã tạo khóa công khai mới, sao chép các nội dung của id_rsa.pub vào trong đó và lưu
  6. Bây giờ tôi truy cập lời nhắc powerhell của tôi, đặt bí danh git 'C: \ program files \ git \ bin \ git.exe'
  7. Tôi cố gắng tạo một bản sao [email protected]: togakangaroo/ps-profile.git để từ chối xác thực của tôi:

    Quyền bị từ chối (khóa công khai). gây tử vong: Kết thúc từ xa đã treo đột ngột

Trải nghiệm quá khứ nói rằng điều này có nghĩa là git không nhận ra khóa của tôi. Tôi đang thiếu những bước nào?

Tôi có cảm giác rằng tôi cần phải cấu hình git để nó biết vị trí khóa ssh của tôi (mặc dù có vẻ như nó sẽ tự động nhìn thấy) nhưng tôi không biết làm thế nào để làm điều đó.

Một đầu mối có thể là khi tôi cố gắng chạy git config user.name --global "George Mauer" tôi nhận được một lỗi

fatal: $HOME not set 

Tôi tuy nhiên thiết lập một biến sử dụng môi trường HOME với giá trị% HOMEDRIVE %% HOMEPATH%

Trả lời

8

lệnh bạn đang tìm kiếm là: ssh-add C:\path\to\key

Trước tiên, bạn có thể muốn tìm ra nơi ssh hiện đang tìm kiếm cho các phím của bạn, bằng cách chạy ssh -v [email protected]

+0

là tiện ích ssh và ssh-add nằm trong thư mục git \ bin? Tôi không sử dụng bash ở đây –

+0

Xin lỗi, đã nói quá sớm, tôi thấy rằng họ đang ở đó. Tôi nhận được điều này khi tôi chạy ssh: http://pastebin.com/G6FPN9As Điều đó nghĩa là gì? –

+0

Có vẻ như ssh đang tìm kiếm các khóa trong C: \ program files \ git \ bin \ .ssh. Giải pháp đơn giản nhất là sao chép các khóa vào thư mục đó. Nhưng nếu bạn thích chúng ở đâu, hãy chạy ssh-add c: \ Users \ myusername \ .ssh. –

12

Tôi đã gặp vấn đề tương tự. Tôi vô tình thêm thư mục sai vào đường dẫn.

Sau khi tôi thay đổi điều đó từ *\Git\bin\ thành *\Git\cmd\ mọi thứ đã hoạt động.

git.cmd thiết lập các biến môi trường.

+0

Cảm ơn, điều đó đã giúp ích. Bây giờ 'git push origin develop' yêu cầu tôi một cách chính xác cho cụm từ mật khẩu của khóa SSH của tôi. Các tập tin bên trong '* \ Git \ cmd' được đặt tên là' git.exe' cho tôi, bằng cách này. Tôi đã không đặt con đường bản thân mình, vì vậy tôi đoán một lựa chọn sai khi cài đặt msysgit - tại một số điểm anh ta hỏi bạn từ nơi bạn muốn sử dụng nó, 'cmd',' git bash', v.v. – Lumen

0

tôi đã có vấn đề, nhưng nó được gây ra bởi Internet Explorer 8.0.7600 có một lỗi JavaScript khi cố gắng thực hiện "thêm chìa khóa" chức năng của nút trên đăng nhập GitHub của tôi "Account Settings" trang "Khóa công cộng SSH".Điều này có nghĩa là khóa bổ sung không thành công và khóa không được liệt kê trên trang khóa công khai phía trên liên kết "Thêm khóa khác". Tôi đã chuyển sang Firefox.

7

Tôi đã cùng một vấn đề, Nó cố định bằng cách đặt id_rsa của bạn * tập tin tại C:\Program Files\Git\.ssh thư mục

+2

Đã thử mọi thứ khác nhưng vô ích. Nghĩ rằng tôi sẽ thử điều này quá .. Nó đã làm việc! Cảm ơn bạn! –

+0

đã làm việc cho tôi! – leosok

9

Giải pháp của tôi đến

"Không thể mở một kết nối đến đại lý xác thực của bạn."

lỗi trên Windows 7 lần đầu tiên chạy ssh -v [email protected] trong bảng điều khiển git Bash để tìm ra loại khóa công khai mà Github đang tìm kiếm. Tên tệp tôi thấy là id_rsa.

Sau đó, tôi đã xem thư mục c:\users\username\.ssh trong Windows Explorer và nhận thấy rằng trong khi không có tệp id_rsa, có github_rsagithub_rsa.pub.

Sao chép các tệp này trong thư mục c:\users\username\.ssh và đổi tên các bản sao thành id_rsaid_rsa.pub tương ứng đã giải quyết được vấn đề cho tôi.

Sau đó tôi có thể đẩy các cam kết cục bộ vào kho lưu trữ trên Github.

1

Tôi đã gặp sự cố tương tự với PowerShell trong ~ 3 giờ.

Đơn giản chỉ cần đặt biến HOME của bạn sẽ được

C:\Users\Your Username 

và khởi động lại PowerShell. Sau đó, đảm bảo tất cả các phím của bạn và tất cả các trận đấu.

0

Trừ khi hoàn toàn cần thiết, tôi khuyên bạn không nên sử dụng mysysgit di động. Điều này làm việc gần như out-of-the-box cho tôi bằng cách sử dụng mysysgit bình thường được cài đặt.

Tuy nhiên, gần đây tôi đã thiết lập tính năng này trên máy tính Windows mới và gặp sự cố tương tự. Điều này đã được sửa bằng cách chuyển khóa SSH của tôi thành khóa tương thích OpenSSH và di chuyển nó vào thư mục cá nhân .ssh của tôi. Sau đó, nó làm việc quyến rũ!

Nếu muốn, see here

Các vấn đề liên quan