web-dev-qa-db-ja.com

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

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

15
Jiew Meng

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

[tunnels]
foo = ssh -p 20000

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

20
u-punkt

デフォルト以外のポートまたは別のユーザー名でsshサーバーにアクセスする必要がある場合は、常に ~/.ssh/config でエイリアスを定義できます。

Host mysvn
HostName server.com
Port 20000
User jm

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

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

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

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

4
swdev

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

0
Egor Duda