फिक्स्ड: sudo: कोई tty वर्तमान और कोई askpass कार्यक्रम निर्दिष्ट नहीं है



समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

कोई भी tty प्रेजेंट और कोई आस्कपास प्रोग्राम निर्दिष्ट आउटपुट लाइन उन ssh एरर मैसेज में से एक है जो वास्तव में मददगार नहीं है क्योंकि यह वास्तव में इस मुद्दे की वजह से नहीं मिलता है। संभावना से अधिक, आप वास्तव में किसी प्रकार की वैध TTY के साथ काम कर रहे हैं जब आप संदेश देखते हैं और शायद आपने ssh पर अपना सुडौल पासवर्ड दर्ज करना ठीक समझा। आप एक वाक्यविन्यास गलती से निपटने की संभावना से अधिक हैं, लेकिन संदेश सीधे इस तथ्य को संबोधित नहीं करता है।



चूँकि यह स्वयं ssh से जुड़ी समस्या है, इसलिए आप Microsoft Windows पर Linux, FreeBSD, macOS और Cygwin की यूनिक्स सेवाओं पर समस्या को पुन: उत्पन्न करने में सक्षम होंगे। सौभाग्य से, इन सभी प्लेटफार्मों पर फिक्स बहुत अधिक होना चाहिए।



विधि 1: ssh के लिए एक टर्मिनल ढूँढना

जब आप पहले से ही टर्मिनल से काम करने की संभावना से अधिक कर रहे हैं, तो शायद यह एहसास नहीं है। यह अभी भी इस तथ्य के बावजूद कि आप एक कमांड प्रॉम्प्ट विंडो के अंदर हैं TTY टर्मिनल एमुलेटर के लिए देखने की कोशिश कर रहे हो सकता है। यह परीक्षण करने के लिए त्रुटि को पुन: पेश करने का प्रयास करें। हमने एक उदाहरण के रूप में सेवा करने के लिए एक आभासी मशीन को कॉन्फ़िगर किया और भाग गया ssh user@linuxtest.example / sudo /var/mail/startup.sh ' परीक्षण के रूप में। स्वाभाविक रूप से, आप कमांड और ssh लाइन को किसी ऐसी चीज़ में बदलना चाहते हैं जो आपके द्वारा किए जा रहे कार्यों से मेल खाती हो।



आप यह सुनिश्चित करना चाहते हैं कि आप उस सर्वर में लॉग इन कर रहे हैं जिसे आपने सोचा था कि आप थे। इसके बावजूद, यह देखने के लिए जांचें कि क्या आप अभी भी sudo प्राप्त करते हैं: कोई tty मौजूद नहीं है और कोई askpass प्रोग्राम निर्दिष्ट त्रुटि संदेश नहीं है। संभावना से अधिक, यदि आप अभी भी इसे प्राप्त कर रहे हैं, तो आप इसे तीन बार देखेंगे और संभवत: अपना पासवर्ड दर्ज करने के लिए भी प्रेरित हों जिस तरह से अगर आप स्थानीय रूप से डेबियन या उबंटू में सूडो चला रहे हों।

अपने सिंटैक्स त्रुटि को सही करने के लिए ssh के बाद जोड़ने का प्रयास करें। दस में से नौ बार यह अपने आप में एक आभासी TTY आवंटित करने के लिए ssh को मजबूर करेगा और यह दिखावा करेगा कि यह एक वास्तविक टर्मिनल के अंदर चल रहा है। आपको अपने आदेश के बारे में और कुछ नहीं बदलना होगा। बस पत्र ssh के बाद -t विकल्प जोड़ें और फिर होस्ट और पास कमांड को समान रखें। यदि आप कभी भी अपने कमांड के उत्तरार्द्ध में ssh चलाना चाहते हैं, तो आप इसे ध्यान में रखना चाहते हैं।



उदाहरण के लिए, यदि आपको एक ही प्रकार की त्रुटि मिल रही थी, तो कमांड को चलाते समय ssh -t user@linuxtest.example @ ssh user@linuxtest2.example ' आपको इसे रोकने के लिए पहले ssh के बाद -t विकल्प रखना होगा। ध्यान दें कि यदि आपने बाद में डेटा बनाने या उपभोग करने के लिए दूसरी कमांड बदल दी है, तो आप -t का उपयोग बिल्कुल नहीं करना चाहेंगे। उदाहरण के लिए, यदि आपने स्क्रिप्ट के बजाय बिल्ली चलाना शुरू कर दिया है, तो आप -t को डंप कर सकते हैं क्योंकि आपको इसके लिए एक टर्मिनल आवंटित करने की आवश्यकता नहीं होगी।

विधि 2: विडियो फ़ाइल को पैच करना

आपको कॉन्फ़िगरेशन की समस्या भी हो सकती है जो इस त्रुटि को पैदा करती है। जारी करके विदो फ़ाइल को संशोधित करें सुडो विडो आदेश दें, और ध्यान रखें कि आप कभी भी इस फ़ाइल को किसी अन्य तरीके से संपादित नहीं करना चाहेंगे। आपको एक ऐसी लाइन मिलनी चाहिए, जिसमें ALL = NOPASSWD हो, जिसमें उस प्रकार के कमांड हों, जिन्हें चलाने के लिए आपको एडमिनिस्ट्रेटर का पासवर्ड दर्ज करने की आवश्यकता नहीं है।

प्रत्येक व्यक्तिगत कमांड को लाइन पर पिछले एक को छोड़कर अल्पविराम के साथ समाप्त करने की आवश्यकता होती है। इस प्रकार यदि आपके पास ऐसा कुछ है जो / sbin / poweroff / sbin / start / sbin / stop की तरह पढ़ा जाता है, तो यह इन सभी को एक ही आदेश के रूप में मानेगा और आप पर त्रुटि फेंक देगा। इसी तरह, यदि आप एक कमांड को याद नहीं कर रहे हैं जिसे आप ssh के माध्यम से चलाने की कोशिश कर रहे हैं तो आपको यह त्रुटि भी मिलेगी। आवश्यक समायोजन करें और जाँचने से पहले फ़ाइल को सहेजें कि क्या त्रुटि अभी भी प्रतिलिपि प्रस्तुत करने योग्य है।

क्या ऐसा करने और सेवा को फिर से शुरू करने के बाद भी आपके पास त्रुटि होनी चाहिए, तो प्रयास करें नीचे दी गई छवि में निम्नलिखित कमांड और सुनिश्चित करें कि PermitTTY लाइन में इसके बाद हाँ शब्द की सुविधा है। यदि यह आपकी फ़ाइल की अंतिम पंक्ति है, तो सुनिश्चित करें कि बाद में एक रिक्त नई पंक्ति है। GNU नैनो डिफ़ॉल्ट रूप से यह कार्य स्वचालित रूप से करता है।

त्रुटि संदेश फिर से शुरू करने का प्रयास करने से पहले आपको किसी भी संबंधित सेवाओं को पुनः आरंभ करने की आवश्यकता होगी।

3 मिनट पढ़ा