गैर मानक पोर्ट पर 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

मुझे लगता है कि मुझे पोर्ट 20000 का उपयोग करने के लिए एसवीएन को भी बताना होगा?

मैं उबंटू 11.10 पर हूं

जवाबों:


19

आप अपने तोड़फोड़ विन्यास ( ~/.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
@ डॉगबर्ट: यह ऐसा काम नहीं करता जैसा आप कहते हैं: मैंने कोशिश की 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 सुरंग को परिभाषित करती है , उस स्थिति में config फाइल पूर्वता लेता है। (जो बल्कि असामान्य है। आम तौर पर यह अन्य तरह से चारों ओर है, पर्यावरण चर आमतौर पर कॉन्फ़िगरेशन फ़ाइलों पर पूर्वता लेते हैं)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.