У випадку, якщо у вашому файлі ~ / .subversion / config не визначено ssh-тунель, ви можете змінити команду ssh на основі виклику за допомогою змінної середовища SVN_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 / конфігурація дійсно визначити SSH тунелю, в цьому випадку конфігураційного файлу має пріоритет. (Що доволі незвично. Зазвичай, змінні середовища зазвичай мають перевагу над файлами конфігурації)
svn+ssh
порт протоколу за замовчуванням , просто визначтесяssh = ssh -p 20000
. Це передбачає, що ви змінили/etc/ssh/sshd_config
на сервері, щобPort 22
його замінили наPort 20000
.