টার্মিনালে systemd-tty-ask-password-agent সম্পর্কে একটি বার্তা দেখা যায়, আর টানেল উঠছে না। প্রলুব্ধকর ব্যাখ্যা হলো VPN একটি পাসওয়ার্ড প্রত্যাখ্যান করেছে এবং এখন কিছু সংশোধনের অপেক্ষায় আছে। আরও নিখুঁতভাবে বললে, কোনো সেবা systemd-এর কাছে ইন্টারঅ্যাকটিভ ইনপুট চেয়েছে, এবং সেই অনুরোধের উত্তর এখনো দেওয়া হয়নি। কোন সেবা চেয়েছে আর কোন গোপন তথ্য চায় — এই দুটি প্রশ্ন আপনি কিছু টাইপ করার আগেই মিটিয়ে নিতে পারেন।

কে উত্তর দেবে তা ঠিক করে দুটি শর্ত

প্রথম শর্ত হলো আপনি কি এই ইনস্ট্যান্সটি ইচ্ছাকৃতভাবে চালু করেছিলেন। আপনার কোনো কাজের পর আসা অনুরোধ আপনার, আর সঙ্গতিপূর্ণ কাজ ছাড়া যে অনুরোধ দেখা যায় সেটি অন্য কিছুর। দ্বিতীয়টি হলো গোপন তথ্যটি অ্যাকাউন্ট প্রমাণীকরণ না কী সুরক্ষা, কারণ এ দুটি আলাদা জায়গায় থাকে এবং আলাদা কোড পথে চলে। কাজ করার আগে তাকালে দুটি উত্তরই জার্নালে দেখা যায়।

দুটি উত্তরই স্পষ্ট হলে সিদ্ধান্ত সহজ: সেবার নিজস্ব সমর্থিত প্রম্পট পথেই উত্তর দিন। যেকোনো একটি অস্পষ্ট হলে সঠিক পদক্ষেপ হলো তদন্ত করা, যে প্রম্পটকে আপনি চিহ্নিত করতে পারেন না সেখানে পাসওয়ার্ড টাইপ করা নয়।

এই-ই পুরো নিয়ম, এবং কমান্ডগুলোর আগে এটি বলে রাখা দরকার। নিচের সবকিছু এরই অনুসরণ।

কিছু টাইপ করার আগে অনুরোধের তালিকা দেখুন

এজেন্ট কোনো কিছুর উত্তর না দিয়েই কী কী অপেক্ষমাণ আছে তা গণনা করতে পারে। sudo systemd-tty-ask-password-agent --list অপেক্ষমাণ অনুরোধগুলো ছাপে, আর সেই আউটপুটই কোনো প্রম্পটকে ইউনিটের সঙ্গে যুক্ত করার প্রমাণ। শংসাপত্র দেওয়ার আগে এটি পড়ুন, এবং অনুরোধের বর্ণনা কোনো প্রকাশ্য ডায়াগনস্টিক পেস্টের বাইরে রাখুন।

তালিকাটিকে আপনি যে কাজ শুরু করেছিলেন এবং যে ইউনিট তার মালিক তার সঙ্গে মিলিয়ে নিন। তালিকার কিছুই আপনার কাজের সঙ্গে না মিললে, আপনি যে প্রম্পট দেখেছেন সেটি অন্য সেবার এবং তা সমাধান করা আপনার কাজ নয়। তালিকার ইউনিটের নামই প্রম্পট ও সেবার মধ্যে একমাত্র নির্ভরযোগ্য সংযোগ।

যে অনুরোধকে আপনি চিহ্নিত করতে পারেন না তার উত্তর দেবেন না। অপেক্ষার খরচ বিলম্ব, আর ভুল প্রম্পটে উত্তরের খরচ হলো ভুল জায়গায় শংসাপত্র।

ইনস্ট্যান্সের আসলে কোন গোপন তথ্য দরকার?

auth-user-pass VPN সেবার অ্যাকাউন্ট প্রমাণীকরণের সঙ্গে সম্পর্কিত, এবং শংসাপত্র ফাইল ছাড়া নথিভুক্ত আচরণ হলো কনসোলে জিজ্ঞাসা করা। askpass বদলে সুরক্ষিত কী উপাদান খোলার পাসফ্রেজ নেয়, এবং প্রক্রিয়াটি ব্যাকগ্রাউন্ড ডেমন হিসেবে যাওয়ার আগেই তা করে। এগুলো ভিন্ন আয়ুর ভিন্ন গোপন তথ্য।

ফাইলের বিন্যাসও আলাদা। অ্যাকাউন্ট রূপটি একটি ব্যবহারকারীনাম লাইন ও একটি পাসওয়ার্ড লাইন আশা করে, আর কী-পাসফ্রেজ ফাইল প্রথম লাইনটিকে তার পাসওয়ার্ড হিসেবে পড়ে। অন্য ভূমিকার শংসাপত্র-ফাইলের রেসিপি কপি করলে সাধারণত সমাধানের বদলে আরেকটি প্রম্পট তৈরি হয়। ভুল আকৃতির ফাইল ফাইল না থাকার চেয়েও খারাপ, কারণ ব্যর্থতা এমন জায়গায় সরে যায় যা কেউ দেখছে না।

কী টাইপ করবেন তা ঠিক করার আগে দেখুন ইনস্ট্যান্স কোন নির্দেশিকা ব্যবহার করে। নির্দেশিকার নামই বলে দেয় প্রম্পট কোন গোপন তথ্যের জন্য।

--query যা করে, --list যা করে না

--query ডাকা টার্মিনালে প্রতিটি অপেক্ষমাণ অনুরোধ প্রক্রিয়া করে, যা একটি প্রম্পটের উত্তর দেওয়ার চেয়ে অনেক বিস্তৃত কাজ। এটি OpenVPN-এর নির্বাচক নয়, এবং ব্যস্ত মেশিনে অন্য ইউনিটের অনুরোধেও উত্তর দিতে পারে। ওয়াচ মোড আরও বিস্তৃত, কারণ এটি অনুরোধ আসার সঙ্গে সঙ্গে প্রক্রিয়া করতে থাকে।

যে সংকীর্ণতম ব্যবস্থা কাজ করে সেটিই ব্যবহার করুন। একটি সেবার জন্য সেই সেবার নিজস্ব প্রম্পট প্রবাহ বিশ্বব্যাপী এজেন্টের চেয়ে সংকীর্ণ, এবং এটি উত্তরটিকে যে ইউনিট চেয়েছিল তার সঙ্গে যুক্ত রাখে।

একবার একটি বিজ্ঞপ্তি দেখা গেছে বলেই এককালীন অনুরোধকে অমনোযোগী বিশ্বব্যাপী এজেন্টে পরিণত করা — এভাবেই সাময়িক বিরক্তি স্থায়ী নকশায় পরিণত হয়। একই সতর্কতা হোস্টজুড়ে পাসওয়ার্ড-বিজ্ঞপ্তি ইউনিট নিষ্ক্রিয় করার ক্ষেত্রেও প্রযোজ্য।

সিদ্ধান্ত নিন, তারপর পছন্দ লিখে রাখুন

অমনোযোগী স্থাপনার জন্য সংযোগের মালিকের সঙ্গে শংসাপত্রের উৎস, ফাইলের অনুমতি ও নবায়ন সূচি ঠিক করে নিন। ইন্টারঅ্যাকটিভ দ্বিতীয় ফ্যাক্টরের জন্য একজন মানুষ বা নির্দিষ্ট সেবা পরিচয় লাগতে পারে। প্রম্পট চেপে রাখলে সেই প্রমাণীকরণ তৈরি হয় না, আর auth-user-pass সরিয়ে ফেললে কেবল সেই সেবাটিই ভাঙে যার এটি দরকার।

মিথস্ক্রিয়ার পরে একই ইনস্ট্যান্সের পরবর্তী ঘটনা দেখুন এবং ব্যক্তিগত রিসোর্স পরীক্ষা করুন। কিছু অপেক্ষমাণ না থাকলে হোস্টের প্রতিটি OpenVPN ইউনিট চালু করার বদলে ইনস্ট্যান্সের অবস্থায় ফিরে যান।

সম্পর্কিত নিবন্ধ