使用 Tortoise SVN 通过 VPN 进行 SVN+SSH 结账,Smartsvn 失败

2024-03-15

系统和连接详细信息

我使用的是运行 Windows 7 的 64 位系统。我安装了 Open VPN 和 Tortoise SVN 64 位。

该存储库位于远程系统中,我们使用 VPN 进行连接。

到目前为止我做了什么

我已按照必要的步骤启动 VPN 连接 -

  • 在 Open VPN 安装路径的 config 文件夹中添加了一些项目特定的配置文件。从团队成员的工作设置中获取这些文件。
  • 使用用户启动 Open VPN 连接。
  • 运行 Putty 的 Pageant.exe,选择 .ppk 文件并输入密码。

到这里一切都很好。

然后我转到本地目录并尝试使用 Tortoise SVN 签出远程存储库 URL。但它会引发以下错误 -

结账失败

To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
Network connection closed unexpectedly

以下是我的 Subversion 配置文件的 [tunnels] 部分的内容 -

### Section for configuring tunnel agents.
[tunnels]
### Configure svn protocol tunnel schemes here.  By default, only
### the 'ssh' scheme is defined.  You can define other schemes to
### be used with 'svn+scheme://hostname/path' URLs.  A scheme
### definition is simply a command, optionally prefixed by an
### environment variable name which can override the command if it
### is defined.  The command (or environment variable) may contain
### arguments, using standard shell quoting for arguments with
### spaces.  The command will be invoked as:
###   <command> <hostname> svnserve -t
### (If the URL includes a username, then the hostname will be
### passed to the tunnel agent as <user>@<hostname>.)  If the
### built-in ssh scheme were not predefined, it could be defined
### as:
# ssh = $SVN_SSH ssh
### If you wanted to define a new 'rsh' scheme, to be used with
### 'svn+rsh:' URLs, you could do so as follows:
# rsh = rsh
### Or, if you wanted to specify a full path and arguments:
# rsh = /path/to/rsh -l myusername
### On Windows, if you are specifying a full path to a command,
### use a forward slash (/) or a paired backslash (\\) as the
### path separator.  A single backslash will be treated as an
### escape for the following character.

这是错误中提到的部分吗?我看不到任何-q那里有选项。现在应该做什么。

注意 - 我也在超级用户上发布了同样的问题 -https://superuser.com/q/295439/50101 https://superuser.com/q/295439/50101。我在那里没有得到任何答案。让我知道是否应该删除/关闭它。

Update
我尝试使用 Smartsvn 6。 当 Openvpn gui 正在运行并且 putty pageant 正在运行时,我选择了“公钥/私钥身份验证”,选择了 .ppk 文件并输入了密码短语。 我收到这个错误 -

An error occurred while processing an SVN command 
File '\path\to\key-file.ppk' is not a valid OpenSSH DSA or RSA private key file.

有任何想法吗?为什么会出现这个错误?如何解决这个问题或有任何指示?队友有一个运行Windows xp的32位系统,他们可以结账。而我和另一位新成员拥有运行Windows 7的64位系统,面临着同样的问题。

更多细节
用于结帐的存储库 URL 类似于 svn+ssh://@...com/var/svn/reposito‌​ries//

队友从未生成任何进一步的密钥或任何东西。他们只是将一些文件放入打开的 VPN 配置文件夹中(一些 .ppk、.key、.crt 和一些打开的 VPN 配置文件)。

Update 3
使用 puttygen 生成 RSA/DSA 密钥时,“要生成的密钥类型”-> 1 下有 3 个选项。SSH-1(RSA) 2. SSH-2 RSA 3. SSH-2 DSA。我选择了SSH-1(RSA)。单击保存私钥。然后再次按照相同的步骤进行结帐。我也选择了Tortoise SVN-> settings-> Network -> SSH Client-> 浏览了pageant.exe文件在那里。结帐仍然不成功->提示“无法加载此密钥(无法打开文件)”,然后出现相同的错误 -

To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
Network connection closed unexpectedly

Update 4
一位新队友(与我一样,正在运行 Windows 7 的 64 位系统)已成功从远程服务器签出。请检查此问题以获取更多详细信息通过 VPN 故障调试 SVN+SSH 结帐的正确方法?如何与工作设置进行比较? https://stackoverflow.com/questions/6776118/proper-way-to-debug-svnssh-checkout-over-vpn-failure-how-to-compare-with-a-work


正如 mkro 所说,.ppk证书是 Putty 独有的。 Putty 有一个非常方便的工具,可以在DSA, RSA, and PPK证书,您可以下载here http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe。几乎所有您将使用的建立 SSH 连接的工具(Putty 除外)都将使用DSA or a RSA密钥对。

如果您使用的是 Linux,您可以下载 putty 源代码包并自行构建以获取副本puttygen,或者如果您使用的是提供包管理器的发行版,则可以尝试安装它。例如,在 Ubuntu 上,您可以执行以下操作:

$ sudo apt-get install putty-tools
$ puttygen <your.ppk> -O private-openssh -o <whatever you want to name it>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Tortoise SVN 通过 VPN 进行 SVN+SSH 结账,Smartsvn 失败 的相关文章

  • TortoiseGit 与 TortoiseSVN 并存?

    我已经使用 TortoiseSVN 好几年了 但我正在考虑慢慢改用 git 因为我真的很喜欢它的分支和合并 我目前正在通过命令行使用 git 但正在考虑安装 TortoiseGit 有人有并排使用两只乌龟的经验吗 这有什么已知的问题吗 我真
  • 在家庭和办公室进行开发,GIT 会比使用 xcopy 的 SVN 更容易吗?

    如果出于安全原因 源代码只能存储在我的家庭计算机和办公室计算机上 如果传输代码的唯一方法是 USB 密钥 那么哪种源代码控制是最好的 SVN还是GIT 注意 两台计算机之间没有网络连接 我推荐git 无论哪种方式 您都需要 USB 密钥上的
  • 将 git 与 svn 一起使用的好习惯

    Subversion 几年前就很流行 现在 git 也开始流行 越来越多的人想用 git 取代 Subversion 问题是很多项目都是基于 Subversion 的 所以问题是如何将 git 与 Subversion 一起使用 不要完全取
  • 删除 QComboBox“下拉”动画

    我正在使用 Qt 4 8 并且想在单击 QComboBox 时摆脱 下拉 动画 我也想稍微移动一下 到目前为止 我一直在考虑重新实现 showPopup 和 hidePopup 但不知道如何使其工作 此外 每次我尝试使用 CSS 进行移动或
  • 无法加载文件或程序集“SharpSvn”或其依赖项之一。尝试加载格式不正确的程序

    我刚刚在这里下载了 64 位版本的 SharpSVNthe link http sharpsvn open collab net files documents 180 5570 SSvn 1 7002 1998 x64 zip 当我运行我
  • 从java程序调用SVN命令

    我想从 java 程序调用 SVN 命令 update commit 有什么帮助吗 SVN 乌龟SVN 环境 java程序将在jBoss服务器内运行 从应用程序服务器内使用 GUI SVN 客户端是一个非常非常糟糕的主意 而Tortoise
  • TortoiseSVN 不允许我添加任何文件

    我正在尝试使用 TortoiseSVN 1 8 1 将文件添加到 SVN 存储库 我右键单击这些文件并选择 TortoiseSVN gt Add 然后 我选择弹出窗口中的所有文件 然后单击 确定 单击 确定 后 会弹出另一个对话框 所有文件
  • 检测注册表虚拟化

    我有一组 C v2 应用程序 并且在 Win7 以及较小程度上的 Vista 中的注册表虚拟化方面遇到了困难 我有一个共享注册表配置区域 我的应用程序需要在 HKLM Software Company 中访问该区域 在 Vista 之前 所
  • 是否存在比 SVN 更快的集中版本控制?

    我已经使用 SVN 很长时间了 现在我们正在尝试使用 Git 我在这里谈论的不是中心化 去中心化的争论 我唯一关心的是速度 后一个工具要快得多 但有时 我需要使用一种集中式方法 这种方法比分散式方法更简单 更简单 学习曲线非常快 这节省了大
  • 无法提交到 svn - 访问被拒绝

    我正在使用 SVN 开发一个小项目 我查看了该项目 svn co http mylocalserver projectx 我进行了更改 更新并添加了文件 svn add file1 php file2 php 但是 每次我想使用此命令提交更
  • 使用32位应用程序获取syswow64目录

    我正在尝试在系统目录中查找文件 问题是当使用 Environment SystemDirectory 在 x64 计算机上 我仍然获得 System32 目录 而不是 Systemwow64 目录 我需要在 x86 机器上获取 System
  • 检查Windows电源管理是否关闭了显示器

    如何在 Windows 7 和 XP 中以编程方式检查 Windows 电源管理 是否已关闭显示屏 如果能收到一个活动就更好了 我不认为 XP 可以做到这一点 Windows 7 中有各种与电源管理相关的好东西 这Windows API 代
  • 2D morton 码编码/解码 64 位

    如何将给定 x y 的莫顿代码 z 顺序 编码 解码为 32 位无符号整数 生成 64 位莫顿代码 反之亦然 我确实有 xy2d 和 d2xy 但仅适用于 16 位宽的坐标 产生 32 位莫顿数 在网上查了很多 但没有找到 请帮忙 如果您可
  • 相当于“svn update -r”的 git 是什么?

    我是最近的 git 转换者 能够使用 git svn 将我的分支保留在本地而不干扰 svn 服务器真是太棒了 最新版本的代码中存在一个错误 我想确定一个它起作用的时间 以便我可以使用 git bisect 我找不到正确的命令来及时返回 谢谢
  • 让 hudson 将源签出到特定目录

    这似乎是一个简单的任务 但在我的一生中 我无法让 Hudson 将我的源代码签出到特定目录 我可以在命令行上使用 svn 查看源代码 我尝试在源代码管理下指定本地模块设置 但没有骰子 我将其设置为 c source trunk 并在运行构建
  • Windows 睡眠功能极慢

    我正在通过 Windows h 使用 Sleep 命令制作一个程序 并且在 Windows 10 而不是 Windows 7 上运行我的程序时遇到了令人沮丧的差异 我将我的程序简化为下面的程序 它与我的更复杂的程序表现出相同的行为 在 Wi
  • Delphi应用程序窗口z顺序和MainFormOnTaskBar属性

    我正在维护一个最初用 Delphi 7 编写并移植到 Delphi XE 的应用程序 使用 Windows 7 我们遇到了一些问题 例如模态窗口出现在主窗口下方 以及最终无法与程序交互 因为用户需要与模态窗体交互 而这是不可能的 因为它位于
  • Jenkins 可以检测到任何 svn 用户每次提交代码吗?

    Jenkins 可以检测到任何 svn 用户每次提交代码吗 我想知道每次 Jenkins 提交 svn user 时 有什么方法或 jenkins 插件吗 现在我用svn updateJenkins 中的 cmd 来更新 svn 您可以按照
  • Maven 中不同配置文件的不同 SCM

    在我的项目中 我们必须使用 maben build number 插件来构造 jar 的最终名称 为此我们使用 SCN 的修订版 因此我们需要 SCM 但是我们在无法直接访问的受控环境和本地测试环境上有两个 SVN 因此对于我们的 poup
  • 在 Windows 7 中使用 ActivePerl @ARGV 为空

    我有以下 Perl 脚本 我正在尝试使用 ActivePerl 在 Windows 7 中运行它 c Perl64 bin perl exe w use strict my mp3splt exe c Program Files x86 m

随机推荐

  • 使用 numpy 实现最大/平均池化(带步长)

    我想知道如何使用 numpy 实现简单的最大 均值池 我正在读书使用 numpy 进行最大池化和平均池化 https stackoverflow com questions 42463172 how to perform max mean
  • 如何动态更改 SQLAlchemy 声明性模型上的列类型?

    我在生产中运行 mysql 但想在内存数据库中的 sqlite 中运行简单的测试 旧版 mysql 数据库的表中包含 mysql 特定类型的列 这些列是在声明性模型中声明的 子类 declarative base 我想运行一些简单的测试而不
  • VB.Net Linq to Entities Null 比较 - 'Is Nothing' 或 '= Nothing'?

    我们在 VB Net 中有多个项目 使用 Net Framework 4 和 Linq to Entities 进行许多 SQL 查询 迁移到 EF 对我们来说是一个新的转变 使用它大约 4 6 个月 并且得到了高层管理人员的支持 因为我们
  • 获取函数的返回值

    假设我有一些运行一些代码的函数 然后return一些东西 像这样 function something some code return some whatever 因此 如果我想提取在函数中生成的数据 的新值 some 我该怎么办呢 例如
  • 如何将 Intl.NumberFormat 与本机反应一起使用?

    我试图在本机反应中将数字转换为价格格式 如何使用https developer mozilla org en US docs Web JavaScript Reference Global Objects NumberFormat http
  • 如何使类属性专属于超类

    我有一个关于行星的大师班 class Planet def init self name self name name def destroy self 我还有一些继承自的类Planet我想让其中之一无法被摧毁 而不是继承destroy功能
  • 使用动态 Linq 实体框架查询抛出奇怪的异常

    我有一个画廊实体框架类 我正在尝试使用 ScottGu 博客上发布的动态 Linq 库来查询实体集 失败的代码行如下 return context Galleries OrderBy sidx sord Skip page rows Tak
  • 二叉搜索树中节点的公平删除

    BST中删除节点的思路是 如果该节点没有子节点 则删除该节点并将父节点指向该节点的指针更新为空 如果该节点有一个子节点 则通过更新该节点的父节点指向其子节点的指针来用其子节点替换该节点 如果该节点有两个子节点 则找到该节点的前驱节点并将其替
  • SVG 中的动画虚线

    我需要为 SVG 中的虚线设置动画 My Work paths fill none stroke grey stroke dasharray 1440 stroke width 1440 stroke linejoin round mask
  • 从 Google 相册应用获取视频(非本地)

    随着谷歌照片应用程序 我正在尝试选择一个未缓存在设备上的视频 我正在使用ACTION 获取 内容意图 启动选项对话框 然后从那里我选择 Google Photos 应用程序 选择本地视频时 它会返回这种形式的 Uri 内容 媒体 外部 视频
  • 在 GSP 中导入和使用 Groovy 代码

    我正在尝试在 GSP 中使用常规函数 请帮忙 因为我正要在这里剃掉我的头发 在我的普惠制顶部我有 我的 GSP 里面有 p I have been in the heating and cooling business for p 和我的
  • ActiveAdmin:如何覆盖索引控制器操作:nil:NilClass 的未定义方法“base”

    我试图覆盖 ActiveAdmin 控制器的索引操作 以显示 current user 的结果而不是所有结果 controller do def index user tasks UserTask where user id gt curr
  • 在 C++ 中从 EnumWindows 生成的过滤/解析列表

    我正在使用以下代码来获取我的计算机上运行的窗口列表 include
  • 有用(困难)的 SQL 脚本库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何定义 MKAnnotationView 重叠的顺序?

    我的地图中有几个 MKAnnotations 及其相应的视图 有时会变得非常拥挤 现在 我的应用程序中的注释有两种风格 有些必然会保留在原处 而另一些则会随着时间的推移而移动 我更喜欢让视觉上更稳定的物体出现在背景中 而移动的物体总是在它们
  • 在 C# 中确定会话变量为 null 或空的最佳方法是什么?

    检查 ASP NET C 中会话变量是否存在的最佳方法是什么 我喜欢用String IsNullOrEmpty 适用于字符串 想知道是否有类似的方法Session 目前我知道的唯一方法是 var session if Session var
  • Finder 窗口刷新问题(Yosemite)

    我正在开发 Finder Sync 扩展以在文件和文件夹上应用徽章 我想刷新 Finder 应用程序中特定文件 文件夹的图标 有没有办法在 mac OS Yosemite 上以编程方式刷新查找器窗口 除了创建和删除文件 我也有这个问题 我曾
  • 用pointfree风格写f?

    说我有功能 g a gt b h a gt c and f b gt c gt d 函数可以写吗 f a gt a gt d 给出的 f x y f g x h y 点自由风格 可以写一个函数 f a gt d f x f g x h x
  • imul 指令的 ZF 行为是什么? [复制]

    这个问题在这里已经有答案了 指令集参考指出 imul 指令的 ZF 未定义 那么 如果我将寄存器中的值乘以立即数 0x0 ZF 会发生什么情况 未定义意味着结果可以是任何值 并且任何值都不重要
  • 使用 Tortoise SVN 通过 VPN 进行 SVN+SSH 结账,Smartsvn 失败

    系统和连接详细信息 我使用的是运行 Windows 7 的 64 位系统 我安装了 Open VPN 和 Tortoise SVN 64 位 该存储库位于远程系统中 我们使用 VPN 进行连接 到目前为止我做了什么 我已按照必要的步骤启动