非標準ポートでSSHを使用してSVN / SSHを構成する方法


14

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を使用しています

回答:


19

Subversion設定で新しい「トンネル」を定義できます(~/.subversion/config)。[tunnels]そこでセクションを見つけて、次のように定義します。

[tunnels]
foo = ssh -p 20000

その後、URLを使用してリポジトリに連絡できますsvn+foo://server.com/home/svn/proj1 proj1


また、デフォルトのsvn+sshプロトコルのポートをオーバーライドする場合は、定義するだけssh = ssh -p 20000です。これは/etc/ssh/sshd_config、サーバーで変更されているため、Port 22に置き換えられていることを前提としていますPort 20000
クラウド

1
@Dogbert:それはあなたの言うようには機能しません:私は試したssh = ssh -p 20000後チェックアウトしようとしましたsvn+ssh://example.org/var/svn-repos/mydev/trunkが、これはまだポート22で試みます
-rubo77

13

デフォルト以外のポートで、または異なるユーザー名でsshサーバーにアクセスする必要があるときはいつでも、でエイリアスを定義できます~/.ssh/config

Host mysvn
HostName server.com
Port 20000
User jm

次にを実行しsvn co svn+ssh://mysvn/home/svn/proj1ます。


4

何らかの理由で~/.subversion/configファイルを編集できなかった場合は、コマンドラインでポートを指定できます。

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

ただし、svnコマンドを実行するたびにこのオプションを実行する必要があります。これはビルドエージェントにとって意味があるかもしれません。


0

〜/ .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トンネルを定義している場合、これは機能しません。その場合、構成ファイルが優先されます。(どちらかといえば珍しいことです。通常は別の方法です。通常、環境変数は設定ファイルよりも優先されます)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.