SSH-এর মাধ্যমে দূরবর্তী VPN সম্পাদক: কোন মেশিন সম্পাদনা করছেন?
X11 ফরওয়ার্ডিং আপনার ল্যাপটপে দূরবর্তী সম্পাদকের উইন্ডো দেখায়, কিন্তু প্রোফাইল ও রুট দূরবর্তী হোস্টেই থাকে। সংরক্ষণের আগে হোস্ট, UUID ও রোলব্যাক পরীক্ষা করুন।
X11 ফরওয়ার্ডিং সম্পাদকের উইন্ডোটি আপনার ল্যাপটপে রাখে, অথচ প্রক্রিয়াটি দূরবর্তী হোস্টে চলতে থাকে। এই ফাঁকই পুরো ফাঁদ: আপনি স্থানীয় উইন্ডো দেখছেন আর দূরবর্তী প্রোফাইল সম্পাদনা করছেন, আর পরিবর্তনটি কোন মেশিনের তা নিয়ে ভুল ধারণা যে SSH সংযোগ দিয়ে কাজ করছেন তা কেটে দিতে পারে। নিচের চেকলিস্টটি কিছু সংরক্ষণের আগেই হোস্ট ও প্রোফাইল নির্ধারণ করে। প্রতিটি ধাপের একটি থামার শর্ত আছে, তাই শুরুতে ব্যর্থ হওয়া সস্তা।
ধাপ 1: প্রোফাইলের মালিক মেশিনটির নাম বলুন
আপনি যে শেল কনফিগার করতে যাচ্ছেন সেখানেই পরিচয়ের কমান্ডগুলো চালান, এবং প্রম্পট থেকে ধরে নেওয়ার বদলে উত্তরটি পড়ুন। প্রম্পটে থাকা হোস্টনাম হলো আপনার শেল ছাপানো একটি স্ট্রিং; কার্নেলের হোস্টনামই এই চেকলিস্টের বাকি অংশের আস্থা। দুটি যদি মিলে না যায়, তবে আপনি ভুল মেশিনে আছেন বা প্রম্পটটি আপনার স্থানীয় শেল সাজিয়ে দিয়েছে। থামুন এবং এগিয়ে যাওয়ার আগে লক্ষ্য হোস্টে আবার সংযোগ করুন।
hostnamectl
hostname -f
ip -brief address
পরের প্রশ্ন হলো এই মেশিনের কি আদৌ VPN রাখা উচিত। ল্যাপটপের ক্লায়েন্ট কনফিগার করা আর দূরবর্তী হোস্টের ক্লায়েন্ট কনফিগার করা ভিন্ন রুট, ভিন্ন DNS ও ভিন্ন ব্যর্থতার ধরন তৈরি করে। প্রোফাইলে হাত দেওয়ার আগেই সিদ্ধান্ত নিন কোনটি আপনি বোঝাচ্ছেন, এবং সিদ্ধান্তটি লিখে রাখুন যেখানে পরের মানুষটি তা পাবেন।
ধাপ 2: প্রোফাইল লেবেল দিয়ে নয়, UUID দিয়ে পড়ুন
NetworkManager একটি সংযোগকে UUID দিয়ে চিহ্নিত করে, অথচ নামটি এমন লেবেল যা যে কেউ সম্পাদনা বা নকল করতে পারে। দুটিই তালিকাভুক্ত করুন এবং আপনার আসলে যে এন্ট্রিটি দরকার সেটিই মিলান, বিশেষত এমন হোস্টে যেখানে বছরের পর বছর ধরে কয়েকটি VPN প্রোফাইল আমদানি হয়েছে।
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
nmcli general permissions
সংরক্ষিত এন্ট্রি ও সক্রিয় সংযোগ ভিন্ন প্রশ্নের উত্তর দেয়: প্রথমটি তালিকা দেয় কী আছে, দ্বিতীয়টি তালিকা দেয় এখন কী ট্রাফিক বহন করছে। অনুমতি লাইনটি আপনার সেশনের স্থানীয় নীতি বর্ণনা করে এবং VPN গেটওয়ে অ্যাকাউন্টটি গ্রহণ করবে কি না সে সম্পর্কে কিছুই বলে না। আপনার দরকারি প্রোফাইলটি সংরক্ষিত তালিকায় না থাকলে এখানেই থামুন, কারণ ভুল এন্ট্রি সম্পাদনা না করার চেয়ে খারাপ।
UUID পাওয়ার পর এটি একটি ভেরিয়েবলে রাখুন এবং পরের প্রতিটি কমান্ডে সেই ভেরিয়েবল ব্যবহার করুন। এটি কপি-পেস্ট ভুলের একটি শ্রেণি দূর করে এবং ট্রান্সক্রিপ্টকে পুনরুৎপাদনযোগ্য করে।
UUID=$(nmcli -g UUID connection show 'Corp VPN')
nmcli connection edit uuid "$UUID"
ধাপ 3: কোনো গ্রাফিক্যাল সম্পাদকই সঠিক সরঞ্জাম কি না তা ঠিক করুন
যে সম্পাদকের polkit প্রম্পট বা সিক্রেট এজেন্ট দরকার, তার উইন্ডো আপনার ল্যাপটপে দেখা গেলেই সেটি পাবে না। ওই উপাদানগুলো দূরবর্তী সেশনের প্রেক্ষাপটে চলে, আর ডিসপ্লে ফরওয়ার্ড করলে সেগুলো ফরওয়ার্ড হয় না। সম্পাদক যদি অনুমোদন বা সিক্রেট ত্রুটিতে সংরক্ষণ করতে না পারে, তবে সমস্যা ডিসপ্লেতে নয়।
echo "$DISPLAY"
ssh -X you@vpn-host
xauth list
OpenSSH X11 ফরওয়ার্ডিং চালু করে -X দিয়ে এবং তার সঙ্গে আসা সতর্কতাটি নথিভুক্ত করে: দূরবর্তী হোস্ট আপনার স্থানীয় ডিসপ্লেতে পৌঁছাতে পারে, যা একটি বাস্তব আস্থার সীমা। বিশ্বস্ত ফরওয়ার্ডিং -Y ওই পরীক্ষাগুলোর কিছু সরিয়ে দেয় এবং ডিফল্টের অধীনে ব্যর্থ হওয়া অ্যাপ্লিকেশনের জন্য কখনোই প্রতিবর্ত সমাধান হওয়া উচিত নয়। আপনার সংস্থা যদি দূরবর্তী প্রশাসনের কোনো পদ্ধতি প্রকাশ করে, তবে নতুন ধরন উদ্ভাবনের বদলে সেটিই ব্যবহার করুন। বেশিরভাগ ক্ষেত্রে কমান্ড-লাইন সম্পাদকই ছোট পৃষ্ঠতল ও ভালো উত্তর।
এখানেই থামুন যদি একমাত্র কার্যকর পথের জন্য -Y প্রয়োজন হয় এবং কেন তা আপনি ব্যাখ্যা করতে না পারেন। এটি নিরাপত্তা নীতির মালিকের সিদ্ধান্ত, ব্যক্তিগত স্ক্রিপ্টে রাখার মতো কোনো কাজের পথ নয়।
ধাপ 4: কিছু সক্রিয় করার আগে পুনরুদ্ধারের পথ রাখুন
VPN পরিবর্তন আপনার SSH সেশন যে রুটের উপর নির্ভর করে তা সরিয়ে দিতে পারে, তাই প্রোফাইল সক্রিয় করার আগেই ফিরে আসার পথ ঠিক করুন। কনসোল অ্যাক্সেস, আউট-অব-ব্যান্ড ব্যবস্থাপনা ঠিকানা বা নির্ধারিত রোলব্যাক—সবই গণ্য; পরিবর্তনটি কাজ করবে এই আশা গণ্য নয়।
sudo systemctl status NetworkManager
ip route show default
ss -tn state established '( sport = :22 )'
শুধু লক্ষ্য প্রোফাইলটি সক্রিয় করুন, তারপর দূরবর্তী হোস্ট থেকে যাচাই করুন: ডিফল্ট রুট, SSH ফেরার পথ এবং টানেল দিয়ে পৌঁছানো উচিত এমন একটি রিসোর্স। আপনার ল্যাপটপ থেকে সফল পরীক্ষা ল্যাপটপের পথ পরীক্ষা করে এবং দূরবর্তী হোস্ট সম্পর্কে কিছুই বলে না। সেশন পড়ে গেলে অন্ধভাবে আবার সংযোগ না করে পুনরুদ্ধারের পথ ব্যবহার করুন। প্রোফাইল সংরক্ষণ করা সক্রিয়করণ নয়, আর সক্রিয়করণ যাচাই নয়.
UUID, আপনি যে প্রপার্টি মানগুলো বদলেছেন এবং সেগুলো যাচাই করতে যে কমান্ড ব্যবহার করেছেন তা লিখে রাখুন। এই হোস্টে হাত দেওয়া পরের মানুষটির তিনটিই দরকার হবে, আর VPN ঠিক হয়েছে বলে দাবি করা সারসংক্ষেপের চেয়ে ট্রান্সক্রিপ্ট বেশি মূল্যবান। রোলব্যাক নোট ছাড়া শেষ হওয়া চেকলিস্ট অর্ধেক চেকলিস্ট।