আমি এখানে একটি নথিতে এসএসএইচের উপর একটি কমান্ড চালানোর চেষ্টা করছি:
ssh example.com <<END
sudo /etc/init.d/apache2 reload
END
সাধারণত যখন আমি এমন কিছু চালানোর চেষ্টা করি যা ইনপুট প্রয়োজন, যেমন সুডোর পাসওয়ার্ড ব্যতীত সাধারণত কাজ করে। সেক্ষেত্রে আমি নিম্নলিখিত বার্তাটি পাচ্ছি:
sudo: no tty present and no askpass program specified
আমি জানি যে আমি -t
এসএসএইচ-তে পতাকাটি সিউডো-টিটি বরাদ্দ করতে ব্যবহার করতে পারি যেমন:
ssh -t example.com "sudo /etc/init.d/apache2 reload"
এবং এটি কাজ করবে, কিন্তু যখন আমি এখানে এখানে নথির সাথে একই জিনিসটি চেষ্টা করি তখন এটি কার্যকর হয় না এবং কোনও টিটি উপস্থিত না হওয়ার বিষয়ে আমি একই ত্রুটি পেয়ে যাব:
ssh -t example.com <<END
sudo /etc/init.d/apache2 reload
END
এই ধারণাটি আমি কীভাবে করব?
এছাড়াও, আপনি যদি ভাবছেন যে আমি কেন এটি এখানে একই নথিতে পাস করার পরিবর্তে এটি এখানে-নথির সাথে কাজ করতে চাই, কারণ ইনপুট কমান্ডগুলি (কয়েকটি থাকতে পারে) কোনও স্ক্রিপ্ট দ্বারা পড়া কনফিগারেশন ফাইল থেকে আসে এবং আমি শুনেছি এটি কোয়েট, ডাবল কোটস ইত্যাদির জন্য কমান্ডগুলি পালনের ঝামেলা এড়ায়