簡體   English   中英

SVN + SSH和Sourceforge

[英]SVN+SSH and Sourceforge

我是Sourceforge和SVN(Windows上的SilkSVN)的新手。

我設法檢查了一個項目

svn co --username=zeroth123 svn://zeroth123@svn.code.sf.net/p/stddecimal/code/trunk stddecimal-code

但是,每次我嘗試使用ssh(所以我可以檢查一下)它都失敗了

> svn co --username=zeroth123 svn+ssh://zeroth123@svn.code.sf.net/p/stddecimal/code/trunk stddecimal-code
svn: E720087: Unable to connect to a repository at URL 'svn+ssh://zeroth123@svn.code.sf.net/p/stddecimal/code/trunk'
svn: E720087: Can't create tunnel: The parameter is incorrect.

我已將SVN_SSH設置為指向我的完全限定的plink.exe ,它沒有任何區別。 我也嘗試將它更改為junk.exe並沒有得到任何不同,所以我認為我們甚至不看SVN_SSH ,這耗盡了我在Sourceforge和其他論壇上找到的所有建議。

為了記錄我是項目管理員,因此有寫權限(或者至少我認為!)

有任何想法嗎?

`%SVN_SSH%需要正確設置並且需要在Sourceforge中注冊SSH密鑰。

請注意,默認情況下,新的Sourceforge項目是版本2.0 ,而99%的Sourceforge文檔適用於版本1.0並且過時。

這些說明假設您已安裝SVNPuTTY工具,並且您可以使用非安全協議成功訪問您的項目,例如只讀svn checkout svn://USER@svn.code.sf.net/p/PROJECT/code/trunk PROJECT-code style命令應該有效。

這些說明解釋了如何對svn checkout svn+ssh://...執行相同的操作svn checkout svn+ssh://...這是對Sourceforge的寫訪問所需的。

  1. %SVN_SSH%設置為SSH客戶端的完全限定路徑。 例如setx SVN_SSH "C:/Program Files (x86)/PuTTY/plink.exe"

    • svn期望路徑中的正斜杠或雙反斜杠
    • 您可能必須重新打開cmd窗口
    • 通過在提示符下鍵入%SVN_SSH%進行測試,並確認您獲得了ssh程序幫助屏幕(或者您希望在沒有參數的情況下執行的任何行為)
  2. (可選?)緩存服務器RSA密鑰。 打開PuTTY ,登錄到svn.code.sf.net (或項目的任何服務器)。 將出現一個提示,詢問您是否要緩存服務器RSA密鑰 - 單擊是。

    • 您可能不需要這樣做,如果不是,當您第一次使用SVN連接您的項目時,您將被問到相同的問題。 輸入y
    • 但是,我這樣做是因為我認為交互式提示可能是問題的一部分。
  3. 創建公鑰/私鑰並使用Sourceforge注冊公鑰。

    • 在創建密鑰,更多信息在這里的例子。
    • 如果您使用PuTTY ,請使用PuTTYgen創建密鑰,並確保在pageant加載私鑰。 具有諷刺意味的是Launchpad有很好的指
    • 通過導航到Home > Account > Services並單擊Edit SSH Keys for Shell/CVS可以在Sourceforge上注冊Edit SSH Keys for Shell/CVS
  4. 現在使用svn+ssh協議進行結賬應該可行!

我按照這里的說明進行操作。 它是一種更快的方法,不需要上傳密鑰等。

  1. http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe下載plink.exe
  2. plink.exe放在Windows安裝目錄中( %windir%
  3. 使用記事本%APPDATA%\\Subversion\\config打開以下文件
  4. 添加或替換[tunnels]部分中的以下行(將login和pwd替換為sourceforge登錄名和密碼)

     ssh = c:\\\\windows\\\\plink.exe -batch -l <LOGIN> -pw <PWD> 

    (注意雙反斜杠)

  5. 保存並關閉文件

對我來說問題是Tortoise最初安裝在D盤上。 我卸載它並在C上重新安裝它而不更改相關設置。 解決方案是將TortoiseSVN文件夾從C盤復制到D盤中的原始位置。

對於與Tortoise SVN一起工作的任何人(像我一樣),他們為Tortoise SVN工作但需要命令行訪問以便於批量分析......並且不想通過注冊SSH密鑰的方法。

  1. 復制您在Tortoise中使用的值 - 設置 - 網絡 - SSH客戶端(我的用戶名,密碼參數)
  2. 根據上面的答案編輯%APPDATA%\\ Subversion \\ config中的命令行配置ssh行,以使用從Tortoise復制的行

這樣,你可以使用Tortoise Plink.exe與用戶名和密碼的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM