2013-08-07 42 views
0

我可以連接使用svn其登錄在我的服務器地址,這樣與密碼瓦特/ SVN + ssh傳輸SVN服務器產品線

svn+ssh://[email protected]/somepath 

是否有可能也有密碼嗎?

+0

哪個平臺?哪個客戶?我目前正在爲Unix操作系統(MacOS X,Linux)上的官方Subversion客戶端進行回覆;如果我們知道你的實際目標環境,這將有所幫助。 –

回答

2

不,它不是。 Subversion對外部SSH進程的委託不支持傳遞密碼。作爲使用SSH的一部分,爲了避免截取明文密碼,如果它被支持,這將(通過緩存這些密碼)成爲一個嚴重的錯誤,而缺少這個「特性」就是設計。

你可以做的是使用RSA密鑰認證來允許單點登錄(理想情況下,加密你的密鑰,這樣你的操作系統在你第一次嘗試使用它時會提示輸入密鑰的密碼,然後記住它; MacOS X和現代的GNOME - 所以股票Ubuntu - 將做這個開箱即用)。

使用ssh-keygen命令生成一個RSA密鑰對,並使其公有的一半安裝在您的用戶在SVN服務器上的authorized_keys文件中。 (某些站點也可能允許將RSA公鑰安裝在LDAP中;系統管理員將能夠告訴您更多信息)。

順便說一下,甚至不需要在URL中輸入用戶名。您可以在~/.ssh/config應用適當的配置:

Host your-svn-server 
    User your-login-name 
    IdentityFile /path/to/your/key # the private half of your keypair 

如果您使用您的鍵的默認文件名,它不會需要配置它的位置;如果每個工作站使用多個密鑰,這只是非常必要的。