Standart olmayan bağlantı noktasında SVN / SSH'yi SSH ile nasıl yapılandırırım?


14

SSH'yi 20000 bağlantı noktasında olacak şekilde yapılandırdım.

svn co svn+ssh://server.com:20000/home/svn/proj1 proj1 --username jm

alırım

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

Bence SVN'ye 20000 portunu da kullanmam gerektiğini söylemeliyim?

Ubuntu 11.10 kullanıyorum

Yanıtlar:


19

Subversion yapılandırmanızda ( ~/.subversion/config) yeni bir 'tünel' tanımlayabilirsiniz . [tunnels]Oradaki bölümü bulun ve şöyle bir şey tanımlayın:

[tunnels]
foo = ssh -p 20000

Daha sonra deponuzla URL aracılığıyla iletişime geçebilirsiniz svn+foo://server.com/home/svn/proj1 proj1.


Ayrıca, varsayılan svn+sshprotokolün bağlantı noktasını geçersiz kılmak istiyorsanız , tanımlayın ssh = ssh -p 20000. Bu modifiye ettik varsayar /etc/ssh/sshd_configböylece sunucuda Port 22ile değiştirilir Port 20000.
Bulut

1
@Dogbert: dediğin gibi çalışmıyor: Denedim ssh = ssh -p 20000ve sonra ödeme yapmaya çalıştım svn+ssh://example.org/var/svn-repos/mydev/trunkama bu hala 22 numaralı limanda çalışıyor
rubo77

13

Varsayılan olmayan bir bağlantı noktasında veya farklı bir kullanıcı adıyla ssh sunucusuna erişmeniz gerektiğinde, içinde bir takma ad tanımlayabilirsiniz ~/.ssh/config.

Host mysvn
HostName server.com
Port 20000
User jm

Sonra koş svn co svn+ssh://mysvn/home/svn/proj1.


4

Herhangi bir nedenle ~/.subversion/configdosyayı düzenleyemediyseniz , bağlantı noktasını komut satırında belirtebilirsiniz:

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

ancak svnkomutu her çalıştırdığınızda bu seçeneği yapmanız gerekir . Bu bir yapı aracısı için anlamlı olabilir.


0

Durumda sizin ~ / .subversion / yapılandırma dosyası değil sen SVN_SSH ortam değişkenini kullanarak arama başına temelinde ssh komutu geçersiz kılabilir, ssh tünel tanımladıktan

SVN_SSH='ssh -p 20000' svn co svn+ssh://server.com/home/svn/proj1 proj1 --username jm

Örneğin

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 dosyanız ssh tünelini tanımlarsa, bu durumda config dosyası öncelik kazanırsa çalışmaz . (Bu olağandışı bir durumdur. Normalde başka bir yoldur, ortam değişkenleri genellikle yapılandırma dosyalarına göre önceliklidir)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.