SSH विफल: PTY आवंटन अनुरोध चैनल 0 पर विफल


11

इसलिए मैंने त्रुटि को नजरअंदाज किया और सर्वरफॉल्ट की जांच की, लेकिन समाधान फिट नहीं हुआ। अधिकांश परिणाम / dev / pts के साथ समस्याएँ थीं, लेकिन यह आरोहित है। अन्य परिणाम गिट के साथ त्रुटियां हैं, लेकिन मशीन पर कोई गिट नहीं है।

मेरा खाता ब्लॉक नहीं किया गया है, मैं अभी भी कंसोल पर लॉग इन कर सकता हूं। अन्य उपयोगकर्ताओं को भी यह समस्या है, इसलिए मुझे नहीं लगता कि इसका कुछ ऐसा है जो मेरे .ssh / में है।

मुझे यह प्रतिक्रिया ssh -vv के साथ मिलती है:

<snip>
debug1: Next authentication method: password
rogier@server's password: 
debug2: we sent a password packet, wait for reply
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug2: callback start
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
debug2: channel 0: request shell confirm 1
debug2: fd 3 setting TCP_NODELAY
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel_input_status_confirm: type 100 id 0
PTY allocation request failed on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0

इसके बाद सत्र फ्रीज हो गया। किसी को भी पता नहीं क्या चल रहा है?


5
क्या आप ssh user@host "/bin/bash -i"लॉगिन करने के लिए उपयोग कर सकते हैं ?
टिम

हम्म .. हाँ, यह काम करता है ...
blauwblaatje

1
मैंने एक ऐसा मामला देखा है जहां /dev/pt*उपकरणों को हटाने और मैन्युअल रूप से फिर से जोड़ने की आवश्यकता थी क्योंकि वे भ्रष्ट हो गए थे। और उस मामले में, ऊपर सूचीबद्ध काम-का उपयोग करके मैंने भी काम किया।
टिम

@ मुझे वही समस्या है। मैं भी साथ प्रवेश कर सकते हैं ssh user@host "/bin/bash -i। क्या आप इसे ठीक करने के लिए मुझे कौन-सी कमांड चलाने के लिए अधिक विशिष्ट हो सकते हैं? मैं कैसे पुनर्स्थापित /dev/pt*करूं? धन्यवाद।
इरविन रूईजाक्कर्स

4
@ user2609980 रन mount, आउटपुट की गई लाइनों में से एक / dev / pts होनी चाहिए, विकल्पों पर ध्यान दें। अनमाउंट करने से पहले आपके द्वारा देखे गए विकल्पों के साथ विकल्पों umount /dev/ptsको mount -t devpts -o OPTIONS devpts /dev/ptsबदलने के साथ अनमाउंट और रीमाउंट करें।
टिम

जवाबों:


10

ठीक है, टिम को धन्यवाद। umounting / dev / pts और फिर माउंट / देव / pts ने चाल चली।


यह बहुत अजीब है। किसी भी विचार क्यों ऐसा है? यह एक डिवाइस ड्राइवर बग या कुछ और है? क्या इसे ठीक किया गया है? आदि ...

कोई जानकारी नहीं। और मैंने इसे दोबारा नहीं देखा।
ब्लौवब्लैटटे

1
@blauwblaatje मुझे भी यही समस्या है। मैं भी साथ प्रवेश कर सकते हैं ssh user@host "/bin/bash -i। क्या आप इसे ठीक करने के लिए मुझे कौन-सी कमांड चलाने के लिए अधिक विशिष्ट हो सकते हैं? धन्यवाद।
इरविन रूईजाक्कर्स

जहां तक ​​मुझे याद है, मैंने केवल किया था: umount / dev / pts && माउंट / dev / pts
blauwblaatje

मुझे बस समस्या थी और mkdir /dev/ptsकाम करने से पहले। अन्यथा इससे मेरे लिए समस्या हल हो गई।
एंजेलो फुच्स

1

मुझे आप सब मेरे अनुभव को बयां करती है, मैं से कनेक्ट करने का प्रयास करते हैं linux के लिए खिड़कियों , ssh के माध्यम से के साथ सर्वर था अधिभारित साथ और दूसरों freessh । जब सर्वर ने इसे खोला है तो यह ठीक काम करता है, लेकिन एक समय के बाद से यह "चैनल अनुरोध 0 पर विफल" संदेश प्रस्तुत करना शुरू कर देता है जब फ्रेस्श सेवा चल रही है (यह एक दिन से दूसरे दिन आया, तो यह बेहतर काम करने के लिए उपयोग करता है) अधिभारित)

मेरे द्वारा किया गया एक परीक्षण किसी अन्य उपयोगकर्ता से कॉन्सेप्ट को स्थापित करने का प्रयास करने के लिए था, जैसा कि मैं देख रहा हूं कि यह ठीक काम करता है, मैं अपने ~ / .ssh (समस्या को प्रस्तुत करने वाला उपयोगकर्ता) का बैकअप लेता हूं, और उसके बाद यह ठीक काम करता है।

मुझे लगता है कि इसमें शामिल फ़ाइल ज्ञात थी_होल्स, सामग्री के साथ ही परमिट ठीक दिखते हैं, लेकिन मैं इसे कैसे ठीक करता हूं।


1

त्रुटि का अर्थ केवल यह है कि छद्म टर्मिनल खोलने में विफल रहा। सबसे अधिक संभावना यह ssh के साथ कुछ नहीं करना है। यह ssh सर्वर साइड पर डीबग करने के लिए http://rachid.koucha.free.fr/tech_corner/pty_pdip.html में mypty की तरह एक बहुत ही सरल PTY डेमो का उपयोग करें, यह देखने के लिए कि क्या कोई PTY आवंटित किया जा सकता है। यदि नहीं, तो जांच करने के लिए स्ट्रेस का उपयोग करें जहां यह विफल रहता है। (मेरे लिए यह एक कंटेनर में एक लापता / देव / ptmx सिमलिंक था जैसा कि https://www.kernel.org/doc/Documentation/filesystems/devpts.txt में बताया गया है )


0

आप पर निर्भर हो सकता है LANG और आपकी LC सेटिंग्स, लेकिन यह मेरे लिए काम करता है:

unset LANG        2>/dev/null
unset LC_MONETARY 2>/dev/null
unset LC_NUMERIC  2>/dev/null
unset LC_MESSAGES 2>/dev/null
unset LC_COLLATE  2>/dev/null
unset LC_CTYPE    2>/dev/null
ssh -l username hostname

2
आपको क्यों लगता है कि समस्या पर्यावरण LANGऔर LC_*पर्यावरण चर से संबंधित हो सकती है ?
एड्रियन हेइन

मैं सोच रहा हूं कि ऐसा होने से पहले मैंने क्या बदला। मैंने वास्तव में इनमें से कुछ चरों को बदल दिया था! देखते हैं कि यह मेरे लिए भी काम करता है या नहीं।
इरविन रूइजाक्कर्स

0

मेरे मामले में, मैं एक लिनक्स बॉक्स से विंडोज होस्ट (साइबरगन और अन्य संबंधित सॉफ्टवेयर्स चला रहा हूं) से जुड़ रहा था।

विंडोज़ सर्वर से कनेक्ट करने के अजीब तरीके से काम किया, लेकिन इंटरैक्टिव टर्मिनल आवंटित करते समय विफल रहा। ssh -vvनीचे लॉग की जाँच करें।

...
Authentication succeeded
...
Entering interactive session
Requesting authentication agent forwarding.
Sending environment.
Sending env LANG = en_US.UTF-8
PTY allocation request failed on channel 4
...

मेरे सहकर्मी को पता चला कि यह विंडोज़ सर्वर पर कई खुली प्रक्रियाओं के कारण था जो कि मेरा एक ही लॉगिन क्रेडेंशियल्स का उपयोग कर रहा था और कुछ स्वचालित बैच ऑपरेशन कर रहा था।

इसे अस्थायी रूप से मारना, चाल चली, और मेरे ssh कनेक्शन को सफलतापूर्वक अनुमति दी।

सबसे अधिक संभावना है, विंडोज़ + साइबरविन की उस संबंध में अधिकतम सीमा थी। जब वे प्रक्रियाएँ चल रही हों, तो संसाधनों को सही ढंग से आवंटित करने के लिए कार्य शेष है ।


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