2012-03-26 24 views
5

Xin lỗi trước cho câu hỏi cơ bản - Tôi mới tham gia git và chắc chắn rằng tôi đang thiếu thứ gì đó siêu dễ dàng mà ai đó có thể trả lời rất nhanh.Cấu hình msysgit để sử dụng putty/plink

Trong khi cài đặt msysgit, tôi đã chỉ định rằng tôi muốn sử dụng PLink thay vì OpenSSH làm chương trình trình khách vỏ an toàn của tôi. Biến môi trường 'GIT_SSH' được đặt thành 'C: \ Program Files (x86) \ PuTTY \ plink.exe', đó là đường dẫn chính xác để plink. Tôi đã thử và không có dấu ngoặc kép. "echo $ GIT_SSH" từ dấu nhắc bash hiển thị giá trị chính xác cho biến môi trường. Tôi cũng có thể kết nối với github thông qua SSH bằng cách sử dụng putty mà không có vấn đề gì.

Sau khi bắt đầu pagent và thêm khóa riêng, tôi mở một cửa sổ git bash mới và cố gắng kết nối với github (github đã có khóa công khai của tôi và được thiết lập chính xác - Tôi đang sử dụng dự án jquery như một bài kiểm tra nhanh) . Mặc dù chỉ định rằng tôi muốn sử dụng PLink và dường như có các biến môi trường chính xác được thiết lập, msysgit vẫn đang cố gắng sử dụng các tệp khóa được tìm thấy trong thư mục ~/.ssh.

Tôi đã xác nhận điều này bằng cách đặt khóa cá nhân vào thư mục đó và mọi thứ hoạt động hoàn hảo (tôi có thể sao chép kho lưu trữ jquery không có vấn đề gì), nhưng tôi thực sự muốn thiết lập Tôi có thể quản lý các khóa riêng của mình thông qua putty nếu có thể.

Không thực sự chắc chắn những gì tôi đang thiếu .. Bất kỳ trợ giúp nào cũng được đánh giá cao - cảm ơn trước!

Trả lời

6

Tôi có vấn đề tương tự và giải pháp là bạn phải sử dụng 'plink' chứ không phải 'ssh'.

Vì vậy, các lệnh sau (từ dấu nhắc bash) nên làm việc cho bạn (giả sử bạn đã thiết lập một GitHub SSH key):

$ echo $GIT_SSH 
C:\Program Files (x86)\PuTTY\plink.exe 

$ "$GIT_SSH" -V 
plink: Release 0.62 

$ "$GIT_SSH" -ssh [email protected] 
Using username "git". 
Server refused to allocate pty 
Hi [your-github-username]! You've successfully authenticated, but GitHub does not provide s 
hell access. 

Nếu bạn chỉ cần chạy "$GIT_SSH" sau đó nó sẽ in ra những lập luận mà bạn có thể sử dụng. Lệnh -ssh buộc PuTTY sử dụng giao thức ssh.

Nếu bạn đã có C:\Program Files (x86)\PuTTY\ trong PATH sau đó bạn chỉ có thể chạy plink -ssh [email protected]

Lý do cho điều này là lệnh ssh sử dụng OpenSSH và OpenSSH không nhận phím PuTTY.

plink.exe thực sự được đề cập trong giải pháp đầu tiên trong số most up voted answer for Git/PuTTY configuration questions, chỉ khó phát hiện ra.

1

Đối với tôi, giải pháp là con đường cần phải được quy định trong phong cách Linux, như vậy:

set GIT_SSH=/c/PuTTY/plink.exe 

nào là khá khó hiểu vì tôi đang thiết lập các biến môi trường trong cú pháp Windows nhưng cũng có giá trị là một Linux đường dẫn kiểu.

Điểm chính là:

echo $GIT_SSH 
C:\Program Files (x86)\PuTTY\plink.exe <-- not a valid path in bash shell 
Các vấn đề liên quan