系统和连接详细信息
我使用的是运行 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/repositories//
队友从未生成任何进一步的密钥或任何东西。他们只是将一些文件放入打开的 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