SSHをポート20000として設定しました。私が試したとき:
svn co svn+ssh://server.com:20000/home/svn/proj1 proj1 --username jm
わかりました。
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を使用しています
答え1
Subversion設定で新しい「トンネル」()を定義できます~/.subversion/config
。そのセクションを見つけて、[tunnels]
次を定義します。
[tunnels]
foo = ssh -p 20000
その後、URLを介してリポジトリにアクセスできますsvn+foo://server.com/home/svn/proj1 proj1
。
答え2
デフォルト以外のポートまたは別のユーザー名を使用してSSHサーバーにアクセスする必要がある場合は、次のエイリアスを定義できます。~/.ssh/config
。
Host mysvn
HostName server.com
Port 20000
User jm
それからsvn co svn+ssh://mysvn/home/svn/proj1
。
答え3
何らかの理由で~/.subversion/config
ファイルを編集できない場合は、コマンドラインでポートを指定できます。
svn co svn+ssh://joe@myserver/myrepo/ --config-option="config:tunnels:ssh=ssh -p 20000"
ただし、svn
このオプションはコマンドが実行されるたびに実行する必要があります。これはエージェントの構築に適しています。
答え4
~/.subversion/config ファイルの場合確かにSSHトンネルが定義されました。 SVN_SSH環境変数を使用して、すべての呼び出しでSSHコマンドをオーバーライドできます。
SVN_SSH='ssh -p 20000' svn co svn+ssh://server.com/home/svn/proj1 proj1 --username jm
例えば
deo@fox:~$ SVN_SSH='ssh -v -p 20000' svn ls svn+ssh://svn/
OpenSSH_7.9p1 Debian-10, OpenSSL 1.1.1c 28 May 2019
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to svn [192.168.177.2] port 20000.
debug1: connect to address 192.168.177.2 port 20000: Connection refused
ssh: connect to host svn port 20000: Connection refused
svn: E170013: Unable to connect to a repository at URL 'svn+ssh://svn'
svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
svn: E210002: Network connection closed unexpectedly
~/.subversion/config ファイルの場合は機能しません。するSSHトンネルを定義します。この場合、構成ファイルが優先されます。 (これは非常に珍しい現象です。通常、その逆は真であり、環境変数は通常設定ファイルよりも優先されます。)