SVN + SSH和Sourceforge

我是Sourceforge和SVNWindows上的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和其他论坛上find的build议。

为logging我是项目pipe理员,因此有写权限(或至less想我做!)

有任何想法吗?

Solutions Collecting From Web of "SVN + SSH和Sourceforge"

需要正确设置`%SVN_SSH%,并且需要使用Sourceforge注册SSH密钥。

请注意,新的Sourceforge项目默认是2.0版本 ,而Sourceforge文档的99%是1.0版本,并且显示已经过时。

这些说明假定您已经安装了SVNPuTTY工具,并且您可以使用非安全协议成功访问您的项目,例如只读svn checkout svn://USER@svn.code.sf.net/p/PROJECT/code/trunk PROJECT-code style命令应该工作。

这些说明解释了如何使用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创建密钥,并确保私钥在页面中加载。 具有讽刺意味的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]部分添加或替换以下行(用sourceforge登录名和密码替换login和pwd)

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

    (注意双反斜杠)

  5. 保存并关闭文件

对我来说,问题在于龟龟最初安装在D盘上。 我卸载它并重新安装在C上,而不改变相关的设置。 解决方法是将C盘中的TortoiseSVN文件夹复制到D盘中的原始位置。

对于像Tortoise SVN一样工作于Tortoise SVN的人(像我一样),但需要命令行访问才能更容易批量分析……并且不想通过注册SSH密钥的faff。

  1. 复制您在Tortoise中使用的值 – 设置 – 网络 – SSH客户端(我有用户名,密码参数)
  2. 编辑命令行在%APPDATA%\ Subversion \ config中配置ssh行,根据上面的答案使用从Tortoise复制的行

这样,你可以使用带有用户名和密码参数的Tortoise Plink.exe。