2008-10-10 200 views
24

我必須檢查一些代碼並運行它。我有網址:如何使用公鑰/私鑰對獲得SVN簽出?

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

我有一個帶有私鑰的文件。我該如何獲取此代碼?

+0

你在什麼操作系統上? – Neall 2008-10-10 16:28:53

+0

本地Mac OS X Leopard,但這實際上應該放在RH ES4盒子上。 – 2008-10-10 17:16:17

+1

我也收到「-bash:svn + ssh:// ...等等等等沒有這樣的文件或目錄」,儘管我安裝了svn和ssh並且一直都在使用它們。我可以使用Subclipse插件(我也使用很多)來做到這一點嗎? – 2008-10-10 17:18:26

回答

3

私鑰放在客戶機上,通常命名爲~/.ssh/id_rsa,~/.ssh/id_dsa~/.ssh/identity,具體取決於SSH版本和密鑰類型。但是,您可以使用ssh -i path/to/private.key

這假定相應的公鑰存在於服務器的~/.ssh/authorized_keys中,並且您的本地計算機正在運行OpenSSH客戶端。如果您在Windows上使用PuTTY,只需打開Pageant程序,然後通過GUI導入密鑰。

1

添加私鑰您~/.ssh/文件夾,然後運行ssh-agent $SHELL; ssh-add;,然後該URL的svn co應該工作。

+0

您的私鑰_do不會進入〜/ .ssh/config。 – ephemient 2008-10-10 20:12:17

13

該條目添加到您的〜/ .ssh/config file:

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

對於更多選項,see the ssh_config man page

0

這裏是我用來通過SVN + SSH從Mac OS X的命令行連接到我的服務器的步驟:

在服務器:

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

複製內容mykey.pub到的〜/ .ssh/authorized_keys文件(創建authorized_keys文件,如果不存在的話)

下載MKEY到本地機器上並運行:

從你的svn服務器
chmod 600 mkey (the next step won't run otherwise) 
svn-add mkey (enter your passphrase) 

結賬使用ssh:

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

刪除MKEY和mkey.pub從服務器

8

只是使用ssh-add命令(它會詢問您的密碼,這是您創建此公用密鑰對時使用的密碼)。

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

驗證您做這個

ssh-add -l 

,將列出所有身份的文件,那麼使用正確添加的關鍵。

2

除了解答Eclipse 3.7帶Subversive的兩個屏幕截圖。


General settings
輸入用戶名!(我在拍攝屏幕前已經忘記了這一點)。做不是輸入密碼。


SSH Settings 如果你的私鑰是密碼保護輸入密鑰密碼。


一張圖片勝過千言萬語。