কম্পিউটার টিউটোরিয়াল

সমাধান: sudo: no tty present and no askpass program specified

"no tty present and no askpass program specified" আউটপুট লাইনটি उन SSH এরর মেসেজগুলোর একটি যা খুব সাহায্যকারী নয় কারণ এটি সমস্যার মূল পয়েন্টে নয়। অধিক ভাবেই, আপনি কাজ করছেন একটি বৈধ TTY-এর সাথে যখন আপনি মেসেজটি দেখেন এবং আপনি সম্ভবত SSH-এ sudo পাসওয়ার্ড দিয়ে ঠিকমতো ডিল করেছেন। আপনি অধিক ভাবেই একটি সিনট্যাক্স ভুলের সাথে ডিল করছেন, কিন্তু মেসেজটি সরাসরি এই फैक्टকে অ্যাড্রেস করে না।

যেহেতু এটি SSH-এর সাথে জড়িত একটি সমস্যা, আপনি অধিক ভাবেই লিনাক্স, FreeBSD, macOS এবং মাইক্রোসফট উইন্ডোজে Cygwin-এর Unix সার্ভিসগুলোর উপর সমস্যাটি রিপ্রডিউস করতে পারবেন। सौভাগ্যয়, ফিক্সটি প্রায় সব প্ল্যাটফর্মে একই হওয়া উচিত।

পদ্ধতি ১: SSH-এর জন্য একটি টার্মিনাল খুঁজে বের করা

আপনি যদি ইতিমধ্যে একটি টার্মিনাল থেকে কাজ করছেন, SSH সম্ভবত এটাকে রিয়ালাইজ করে না। এটি এখনও একটি TTY টার্মিনাল এমুলেটর খুঁজে বের করার চেষ্টা করছে থাকতে পারে অন回事 থাকা সত্ত্বেও যে আপনি একটি কমান্ড প্রম্পট উইন্ডোর ভেতরে আছেন। এটিকে রিপ্রডিউস করার চেষ্টা করুন এটি টেস্ট করতে। আমরা একটি ভার্চুয়াল মেশিন কনফিগার করলাম উদাহরণ হিসেবে এবং ssh user@linuxtest.example 'sudo /var/mail/startup.sh' চালালাম টেস্ট হিসেবে। স্বাভাবিকভাবেই, আপনি কমান্ড এবং ssh লাইনটি আপনি যা করার চেষ্টা করছেন সেটির সাথে মেলানো কিছুতে পরিবর্তন করবেন।

সমাধান: sudo: no tty present and no askpass program specified

আপনি নিশ্চিত করতে চাবেন যে আপনি সার্ভারে লগইন করছেন যা আপনি মনে করছেন। যাহোক, চেক করুন আপনি এখনও sudo: no tty present and no askpass program specified এরর মেসেজ পাচ্ছেন কিনা। অধিক ভাবেই, আপনি এখনও এটি পাচ্ছেন তবে আপনি এটিকে তিনবার দেখবেন এবং সম্ভবত আপনার পাসওয়ার্ড দিতে বলা হবে যেভাবে আপনি লোকালি Debian বা উবুন্টুতে sudo চালালে পেতেন।

ssh-এর পর -t যোগ করুন আপনার সিনট্যাক্স এরর সংশোধন করতে। নাইন টাইমস আউট অফ টেন এটি SSH-কে একটি ভার্চুয়াল TTY আলোকেট করতে বাধ্য করবে এবং ধরে নেবে যে এটি একটি রিয়াল টার্মিনালের ভেতরে চলছে। আপনাকে আপনার কমান্ডের কোনো কিছু পরিবর্তন করতে হবে না। সারমে ssh লেটার্সের পর -t অপশন যোগ করুন এবং হোস্ট এবং পাস করা কমান্ড একই রাখুন। আপনি এটাকেও মনে রাখবেন যদি আপনি কখনো আপনার কমান্ডের পরে ssh চালাতে হয়।

উদাহরণস্বরূপ, আপনি যদি একই ধরনের এরর পান যখন একটি কমান্ড চালাচ্ছেন যা ফরম্যাট করা আছে ssh -t user@linuxtest.example 'ssh user@linuxtest2.example' আপনাকে প্রথম ssh-এর পর -t অপশন রাখতে হবে এটি প্রিভেন্ট করতে। লক্ষ্য করুন যে আপনি যদি পরবর্তী কমান্ডটি ডেটা প্রোডিউস বা কনসিউম করার জন্য পরিবর্তন করেন, তবে আপনি -t ব্যবহার করতে চাবেন না। উদাহরণস্বরূপ, আপনি যদি স্ক্রিপ্টের বদলে cat চালানোর শুরু করেন তবে আপনি -t ডাম্প করতে পারেন যেহেতু আপনাকে সেটির জন্য কোনো টার্মিনাল আলোকেট করতে হবে না।

পদ্ধতি ২: visudo ফাইল প্যাচ করা

আপনার একটি কনফিগারেশন সমস্যা থাকতে পারে যা এই এরর তৈরি করে। sudo visudo কমান্ড ইস্যু করে visudo ফাইল মডিফাই করুন, এবং মনে রাখবেন যে আপনি কখনো এই ফাইলটি অন্য কোনো উপায়ে এডিট করবেন না। আপনাকে একটি লাইন পাওয়া উচিত যেটিতে ALL = NOPASSWD আছে তারপর সেই কমান্ডের টাইপগুলো যা আপনাকে অ্যাডমিনিস্ট্রেটরের পাসওয়ার্ড দিয়ে চালাতে হবে না।

প্রতিটি אינডিভিজুয়াল কমান্ড অবশ্যই একটি কমা দিয়ে শেষ হতে হবে 마지막টি ছাড়া সেই লাইনে। তাই আপনার কাছে যদি কিছু থাকে যা পড়ছে /sbin/poweroff /sbin/start /sbin/stop এটি এগুলোকে সব একসাথে একটি কমান্ড হিসেবে বিবেচনা করবে এবং আপনাকে এরর ফেলবে। একইভাবে, আপনি যদি কোনো কমান্ড মিস করছেন যা আপনি SSH-এর মাধ্যমে চালানোর চেষ্টা করছেন তবে আপনি এই এররটিও পাবেন। প্রয়োজনীয় সমন্বয় করুন এবং ফাইলটি সেভ করুন এররটি এখনও রিপ্রডিউসিবল কিনা চেক করার আগে।

আপনি যদি এখনও এরর পান এটি করার পর এবং সার্ভিস রিস্টার্ট করার পর, তবে নিচের ছবিতে दिखানো কমান্ডটি চেষ্টা করুন এবং নিশ্চিত করুন যে PermitTTY লাইনটি এর পরে yes ফিচার করে। যদি এটি আপনার ফাইলের লাস্ট লাইন হয়, তবে নিশ্চিত করুন যে এর পরে একটি ব্ল্যাঙ্ক নিউলাইন আছে। GNU nano ডিফল্টভাবে এই টাস্কটি আটোমেটিক্যালি করে।

সমাধান: sudo: no tty present and no askpass program specified

আপনাকে যেকোনো প্রাসঙ্গিক সার্ভিস রিস্টার্ট করতে হবে এরর মেসেজ আবার রিপ্রডিউস করার চেষ্টা করার আগে।

  1. লিনাক্সে Алиাস এবং শেল ফাংশন তৈরির পদ্ধতি

  2. সমাধান: No Matching Key Exchange Method Found

  3. সমাধান: No targets specified and no makefile found

  4. কমান্ড অ্যান্ড কন্ট্রোল সাইবার আক্রমণ: কীভাবে হ্যাকার নেটওয়ার্ক হাইজ্যাক করে এবং বটনেট তৈরি করে