Ssh एरर मैसेज में चैनल नंबर किसको संदर्भित करता है?


12

नीचे दिए गए उदाहरण में चैनल नंबर किसके अनुरूप हैं? जो सर्वर पर हैं? जो क्लाइंट पर हैं?

  $ ssh -L1570:127.0.0.1:8899 root@thehost
    Password:
    Last login: Fri Aug  9 13:08:44 2013 from theclientip
    Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
    You have new mail.
    # channel 2: open failed: administratively prohibited: open failed
    channel 3: open failed: administratively prohibited: open failed
    channel 2: open failed: administratively prohibited: open failed

Ssh क्लाइंट विंडोज 7 पर चल रहा है और सर्वर में टॉमकैट सर्वर पोर्ट 8899 पर चल रहा है।

टॉमकैट रिमोट मशीन पर 127.0.0.1 पर नहीं सुन रहा है, तो अगर मैं कमांड को बदलूं ssh -L1570:thehostpublicip:8899 root@thehost पोर्ट फॉरवर्ड कार्यों में । इसलिए मुझे पता है कि पोर्ट फ़ॉरवर्डिंग सर्वर पर ठीक काम कर रहा है।

मेरी sshd config फाइल में निम्नलिखित दो लाइनें हैं:

# Port forwarding
AllowTcpForwarding yes

# If port forwarding is enabled, specify if the server can bind to INADDR_ANY.
# This allows the local port forwarding to work when connections are received
# from any remote host.
GatewayPorts yes

मैं एक और प्रक्रिया नहीं टॉमकैट के लिए पोर्ट अग्रेषण स्थापित करने की कोशिश कर रहा हूं और मुझे ऊपर के सामान के समान त्रुटि संदेश मिलते हैं इसलिए मैं त्रुटि संदेशों के अर्थ को समझने की कोशिश कर रहा हूं।

जवाबों:


21

से SSH प्रोटोकॉल प्रलेखन , चैनलों के बारे में:

सभी टर्मिनल सत्र, अग्रेषित कनेक्शन, आदि चैनल हैं। दोनों ओर एक चैनल खुल सकता है। कई चैनलों को एक ही कनेक्शन में मल्टीप्लेक्स किया जाता है।

चैनलों की पहचान प्रत्येक छोर पर संख्याओं द्वारा की जाती है। किसी चैनल का जिक्र करने वाला नंबर हर तरफ अलग हो सकता है। चैनल खोलने के अनुरोध में प्रेषक का चैनल नंबर होता है। किसी भी अन्य चैनल से संबंधित संदेशों में चैनल के लिए प्राप्तकर्ता का चैनल नंबर होता है।

चैनल प्रवाह-नियंत्रित होते हैं। जब तक खिड़की स्थान उपलब्ध न हो, तब तक कोई डेटा किसी चैनल को नहीं भेजा जा सकता जब तक कि संदेश प्राप्त न हो जाए।

पोर्ट फॉरवार्डिंग

आपके पास जो कमांड ठीक है। क्या आप सुनिश्चित हैं कि जिस सेवा से आप जुड़ने की कोशिश कर रहे हैं, वह कनेक्शन लेने और स्वीकार करने की है? चैनल की त्रुटियों से प्रतीत होता है कि यह नहीं है।

मेरे सक्रिय चैनल क्या हैं?

यदि आपके पास एक सक्रिय sshकनेक्शन है तो आप सहायता प्राप्त करने के लिए निम्नलिखित प्रमुख संयोजन का उपयोग कर सकते हैं:

Shift+ के ~बाद Shift+?

$ ~?
Supported escape sequences:
  ~.  - terminate connection (and any multiplexed sessions)
  ~B  - send a BREAK to the remote system
  ~C  - open a command line
  ~R  - Request rekey (SSH protocol 2 only)
  ~^Z - suspend ssh
  ~#  - list forwarded connections
  ~&  - background ssh (when waiting for connections to terminate)
  ~?  - this message
  ~~  - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)
debug2: channel 2: written 480 to efd 8

आप सक्रिय चैनलों की सूची प्राप्त करने के लिए इस कुंजी संयोजन का उपयोग कर सकते हैं:

Shift+ के ~बाद Shift+#

$ ~#
The following connections are open:
  #2 client-session (t4 r0 i0/0 o0/0 fd 6/7 cc -1)
debug2: channel 2: written 93 to efd 8

4

यदि टोमैट लूपबैक (127.0.0.1) पर नहीं सुन रहा है, तो इससे आगे का पोर्ट आपको प्राप्त होने वाला त्रुटि संदेश देगा।

अगर मैं एक ssh करता हूं, तो एक गैर-सुनने वाले बंदरगाह के आगे के बंदरगाह के साथ (जैसे: ssh -L1234:127.0.0.1:9999 10.0.0.1- जहां 10.0.0.1 पर कोई भी प्रक्रिया 127.0.0.1 पर 9999 पोर्ट के लिए बाध्य नहीं है), मुझे वही त्रुटि मिलती है:

channel 2: open failed: administratively prohibited: open failed

आप -vvvअपने ssh को जोड़कर पता लगा सकते हैं कि किस चैनल को संदर्भित किया जा रहा है

ssh -vvv -L1570:127.0.0.1:8899 root@thehost

क्या पोर्ट "अन्य प्रक्रिया" है (और क्या आईपी पते पर) सुन रहा है, netstat -tulpnयह पुष्टि करेगा कि आपके सर्वर पर कौन से पोर्ट और आईपी प्रक्रिया का उपयोग कर रहे हैं, -L को एक पते पर इंगित करना होगा और यह जिस पोर्ट पर सुन रहा है।


मैं उपरोक्त को पुन: पेश नहीं कर सकता। क्या आप इसे प्राप्त करने के लिए क्लाइंट और / या सर्वर में ssh पैरामीटर सक्षम कर रहे हैं?
SLM

नहींं (मानक 'बॉक्स से बाहर' दोनों तरफ कॉन्फ़िगर)। जब तक मैं connect failed: Connection refusedएक फ़ायरवॉल कनेक्शन से इनकार करता हूं, तो मैं आपको प्राप्त कर सकता हूं । administratively prohibited: open failedएक फ़ायरवॉल के बिना एक मेजबान पर है।
Drav Sloan
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.