2008-10-10 44 views
24

Tôi phải kiểm tra một số mã và chạy nó. Tôi có URL:Tôi làm cách nào để nhận thanh toán SVN bằng cặp khóa Công khai/Riêng tư?

svn+ssh://[email protected]/home/svn/project/trunk 

Tôi có một tệp có khóa riêng của họ. Tôi phải làm gì để lấy mã này?

+0

Bạn đang sử dụng hệ điều hành nào? – Neall

+0

Mac OS X Leopard cục bộ, nhưng điều này thực sự phải đi trên một hộp RH ES4. –

+1

Tôi cũng nhận được "-bash: svn + ssh: // ... blah blah Không có tập tin hoặc thư mục", mặc dù tôi đã svn và ssh cài đặt và sử dụng chúng tất cả các thời gian. Tôi có thể làm điều này từ Eclipse với plugin Subclipse (mà tôi cũng sử dụng rất nhiều)? –

Trả lời

3

Khóa riêng đi trên máy khách, thường được đặt tên là ~/.ssh/id_rsa, ~/.ssh/id_dsa hoặc ~/.ssh/identity tùy thuộc vào phiên bản SSH và loại khóa. Tuy nhiên, bạn chỉ có thể sử dụng ssh -i path/to/private.key.

Điều này giả định rằng khóa công khai tương ứng tồn tại trên máy chủ trong ~/.ssh/authorized_keys và máy cục bộ của bạn đang chạy ứng dụng OpenSSH. Nếu bạn đang sử dụng PuTTY trên Windows, chỉ cần mở chương trình Pageant và nhập khóa thông qua GUI.

+8

nó không phải là rõ ràng với tôi làm thế nào để sử dụng nó với svn? – WonderLand

+9

tương tự cho tôi .. câu trả lời là không chính xác. –

+2

câu hỏi này là yêu cầu cho svn, không ssh – Transcendence

1

Thêm khóa cá nhân vào thư mục ~/.ssh/ của bạn rồi chạy ssh-agent $SHELL; ssh-add; và sau đó, svn co của URL đó sẽ hoạt động.

+0

Các khóa cá nhân của bạn _do not_ go in ~/.ssh/config. – ephemient

+0

Rất tiếc, bạn hoàn toàn đúng, lẽ ra phải là 'authorized_keys'. –

47

Nếu bạn cần phải sử dụng một phím tùy chỉnh chỉ dành riêng cho svn, sau đây sẽ làm việc:

SVN_SSH="ssh -i /path/to/key_name"

export SVN_SSH

svn commands

http://labs.kortina.net/2010/01/30/svn-checkout-with-private-key-over-ssh/

+0

Lưu ý rằng tôi sẽ luôn luôn sử dụng một đường dẫn đầy đủ cho đường dẫn đến khóa. –

+0

Con đường bây giờ là tuyệt đối! – David

+0

có thể sử dụng được nếu chỉ sử dụng một máy chủ lưu trữ, cho nhiều máy chủ lưu trữ cần tệp ~/.ssh/config sử dụng – AnViKo

13

Thêm phần này vào bạn ~/.ssh/config tệp:

Host YOUR_SERVER 
IdentityFile YOUR_PRIVATE_KEY_PATH # (ex: ~/.ssh/rsa) 
User USER_NAME 

Để có thêm tùy chọn, see the ssh_config man page.

0

Dưới đây là các bước mà tôi dùng để kết nối từ dòng lệnh Mac OS X lên máy chủ của tôi qua svn + ssh:

Mở server:

ssh-keygen -b 1024 -t dsa -f mykey (creates mykey and mkey.pub files) 

nội dung Bản sao mykey.pub tới ~/.ssh/authorized_keys (tạo tệp authorized_keys nếu nó không tồn tại)

Tải xuống mkey vào máy địa phương của bạn và chạy:

chmod 600 mkey (the next step won't run otherwise) 
svn-add mkey (enter your passphrase) 

kiểm tra từ máy chủ svn của bạn với ssh:

svn co svn+ssh://[email protected]/repos/path 

Xóa mkey và mkey.pub từ máy chủ của bạn

8

chỉ cần sử dụng lệnh ssh-add (nó sẽ yêu cầu bạn nhập mật khẩu của bạn, điều này là mật khẩu bạn đã sử dụng khi tạo cặp khóa riêng tư công khai này).

ssh-add PATH_TO_YOUR_PRIVATE_JEY 
e.g. ssh-add ~/.ssh/myPrivateKey.key 

xác minh rằng bạn thêm chìa khóa một cách chính xác bằng cách làm này

ssh-add -l 

Đó sẽ liệt kê tất cả các tập tin bản sắc nó đang sử dụng.

2

Ngoài câu trả lời hai ảnh chụp màn hình từ Eclipse 3.7 với Subversive.


General settings
Nhập tên người dùng! (Tôi đã quên điều này trước khi chụp ảnh màn hình). Làm không phải nhập mật khẩu.


SSH Settings Nhập cụm từ mật khẩu quan trọng nếu bạn private key là cụm từ mật khẩu bảo vệ.


Một hình ảnh đáng giá ngàn lời.

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