如何在非标准端口上使用 SSH 配置 SVN/SSH?

Jie*_*eng 19 ssh subversion tcp

我已将 SSH 配置为在端口 20000 上。当我尝试时:

svn co svn+ssh://server.com:20000/home/svn/proj1 proj1 --username jm
Run Code Online (Sandbox Code Playgroud)

我得到

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

我想我还需要告诉 SVN 使用端口 20000 吗?

我在 Ubuntu 11.10

小智 24

您可以在 Subversion 配置 ( ~/.subversion/config) 中定义新的“隧道” 。找到[tunnels]那里的部分并定义如下内容:

[tunnels]
foo = ssh -p 20000
Run Code Online (Sandbox Code Playgroud)

之后,您可以通过 URL 联系您的存储库svn+foo://server.com/home/svn/proj1 proj1


Gil*_*il' 14

每当您需要通过非默认端口或使用不同的用户名访问 ssh 服务器时,您都可以在~/.ssh/config.

Host mysvn
HostName server.com
Port 20000
User jm
Run Code Online (Sandbox Code Playgroud)

然后运行svn co svn+ssh://mysvn/home/svn/proj1


swd*_*dev 5

如果由于某种原因无法编辑~/.subversion/config文件,则可以在命令行中指定端口:

svn co svn+ssh://joe@myserver/myrepo/ --config-option="config:tunnels:ssh=ssh -p 20000"

但是每次运行svn命令时都必须执行此选项。这对于构建代理可能有意义。