2013-09-07 54 views
5

Có nhiều hướng dẫn tốt về cách làm việc với git dưới cửa sổ bằng GitBash.ssh xác thực truy cập git tại cửa sổ lệnh nhắc?

Tôi lưu ý rằng khi git được cài đặt, nó cung cấp tùy chọn "thiết lập để sử dụng git từ cửa sổ nhắc", đặt git trên đường dẫn cửa sổ.

Có cách nào để thiết lập tính năng này để xác thực ssh hoạt động không?

Hiện tại tôi nhận được "quyền bị từ chối (khóa công khai)" khi tôi cố gắng thực hiện lệnh git truy cập từ xa.

(chỉnh sửa) Tôi đã đặt% HOME% để trỏ tới thư mục chính Windows của mình và có thư mục .ssh trong đó có các tệp id hoạt động trong vỏ gitbash.

Tôi đánh giá cao câu trả lời có thể là "không, đây là lý do tại sao GitBash tồn tại". Nhưng - nó sẽ là tốt để biết chắc chắn.

Nếu câu trả lời là "không", điều này khiến bạn tự hỏi tại sao bạn lại bận tâm đặt git trên đường dẫn cửa sổ của bạn?

+0

Tôi không hiểu câu hỏi của bạn? Tại sao nó không phải là một ý tưởng tốt để có 'git' trong đường dẫn cửa sổ ??Bạn thích gõ toàn bộ đường dẫn đến git mọi lúc bạn cam kết thay đổi? – PeeHaa

+1

Tôi đoán điểm này là dành cho câu hỏi chính. Tôi đã nghĩ rằng nếu bạn phải sử dụng gitbash để chạy các lệnh truy cập kho lưu trữ bằng cách sử dụng ssh (đó là vấn đề hiện tại của tôi), thì điều đó có nghĩa là bạn sẽ sử dụng gitbash mọi lúc, thay vì giao diện điều khiển cửa sổ. Nếu không có vẻ như bạn sẽ làm một số công việc git trong cửa sổ dòng lệnh và khác trong gitbash (đó là những gì tôi đang cố gắng để tránh). – GreenAsJade

Trả lời

3

quyền truy cập ssh hoạt động tốt từ phiên DOS thông thường.
Bạn chỉ cần xác định C:\Users\YourAccount\.ssh và thêm id_rsaid_rsa.pub tại đó.

Khởi chạy phiên git của bạn thông qua git-cmd.bat, sẽ xác định %HOME% thành C:\Users\YourAccount: đó là điều sẽ làm cho ssh hoạt động.

Điều này sẽ đặt cài đặt msysgit/bin của bạn trong PATH.

tôi thực sự khuyên không cài đặt thông qua một msi (Microsoft Installer), nhưng thông qua một giải nén đơn giản của một kho lưu trữ (portable version "PortableGit-x.y.z-preview201ymmdd.7z")

Và 's OP GreenAsJadecomment điểm ra một thực tế rằng GIT_SSH phải trỏ đến plink.exe .

+0

Cảm ơn câu trả lời của bạn! Thật tuyệt khi biết rằng điều này sẽ hoạt động. Tôi có một thư mục .ssh trong thư mục chính của tôi, và nó có id_rsa và id_rsa.pub tập tin trong đó. Những công việc này khi tôi sử dụng git trong gitbash shell. Tôi đã thiết lập% HOME% để trỏ đến thư mục chính của tôi, nhưng vẫn lệnh git cho "quyền bị từ chối (khóa công khai)". Bất kỳ ý tưởng nào khác? Lưu ý rằng trong gitbash shell, cần phải có một bashrc bắt đầu và ssh agent. Tôi tự hỏi nếu đây là những gì là thiếu cho cửa sổ dấu nhắc lệnh? – GreenAsJade

+0

@GreenAsJade có, nhưng bạn có thấy '% HOME%' được xác định không? Một tập hợp 'HOME' trả về trong phiên DOS của bạn là gì. Nếu bạn đã thực thi 'git-cmd.bat', thì' HOME' phải được đặt chính xác và '% HOME% /. Ssh' sẽ tồn tại. – VonC

+0

@GreenAsJade cho đại lý: http://stackoverflow.com/a/10169412/6309 – VonC

-2

Vâng, có thể tôi có một quy trình có vẻ hoạt động.

Nếu bạn sử dụng cụm mật khẩu trong quá trình tạo khóa, bạn sẽ phải nhập cụm mật khẩu này sau khi tải một tác nhân ssh và thêm khóa vào tác nhân.

Về cơ bản, giải pháp là: làm theo hướng dẫn trên trang này:

https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html

NHƯNG, trong việc tạo ra các phím không gõ cụm từ mật khẩu.

Rõ ràng, nó 'yếu' hơn từ quan điểm bảo mật.

Tuy nhiên, tập lệnh .bashrc sẽ hoạt động như mong đợi (tải danh tính khi khởi động git bash).

Bạn có thể sử dụng sau đó tập lệnh "start-ssh-agent.cmd" nằm trên thư mục Git \ cmd. Nó sẽ mở một Dos Prompt với danh tính được tải và mọi thứ sẽ hoạt động!