NetworkManager-ssh সংযুক্ত দেখায়, কিন্তু কিছুই রুট হয় না
সূচকটি কেবল প্রমাণ করে যে পরিচালিত SSH সম্পর্কটির অস্তিত্ব আছে। প্লাগইনটি টানেল ডিভাইস নাকি কিছু ফরওয়ার্ড তৈরি করেছে তা যাচাই করুন, তারপর অ্যাপের পথ পরীক্ষা করুন।
মেনুটি SSH সংযোগকে সক্রিয় দেখায়, হোস্ট কী গৃহীত হয়েছে, আর ব্রাউজার এখনও তার নির্ধারিত কোনো গন্তব্যে পৌঁছায় না। এটি কোনো বিরোধ নয়, কারণ একটি NetworkManager-ssh প্রোফাইল একই হোস্ট ও কী থেকে দুটি সম্পূর্ণ ভিন্ন ফল দিতে পারে: প্যাকেট বহনকারী একটি টানেল ডিভাইস, অথবা কিছু ফরওয়ার্ডের সমষ্টি যা কেবল নির্দিষ্ট অ্যাপ্লিকেশন ব্যবহার করতে পারে। সূচকটি জানায় যে পরিচালিত SSH সম্পর্কটির অস্তিত্ব আছে। এটি কখনও জানায় না আপনি দুটির কোনটি পেয়েছেন।
একটি মেনু এন্ট্রির পিছনে দুটি ফল
দুটি মোডই একইভাবে প্রমাণীকরণ করে, ঠিক সে জন্যই এদের গুলিয়ে ফেলা হয়। প্রোফাইলটি হুবহু একইভাবে, একই শংসাপত্র দিয়ে নির্বাচন করলে আপনি হয় এমন একটি ইন্টারফেস পান যার মধ্য দিয়ে রুট করা যায়, নয় এমন একটি শ্রবণ সকেট পান যা সম্পর্কে একটি অ্যাপ্লিকেশনকে জানাতে হয়।
কাজটির আসলে কোন ফল দরকার তা ঠিক করে শুরু করুন। গোটা সাবনেটে পৌঁছানোর প্রয়োজন একটি ডিভাইস চায়। দূরবর্তী হোস্টে একটি একক সেবা ফরওয়ার্ড চায়, আর তার জন্য টানেল বানানো সাধারণত সমস্যাটি যতটা যোগ্য ছিল তার চেয়ে বেশি রাউটিং কাজ তৈরি করে।
কাজ করার আগে প্রতিটি মোডে যা থাকতে হবে
প্রকল্পটি দুটি মোডই নথিভুক্ত করে, এবং পূর্বশর্তগুলো এতটাই আলাদা যে একটি অনুপস্থিত থাকলে তা নকশার সিদ্ধান্ত নয়, বরং প্রোটোকল ব্যর্থতার মতো দেখায়।
| Mode | What must exist | What still has to be true |
|---|---|---|
| Tunnel device | Compatible TUN/TAP arrangement on both ends, permission, addressing | A route policy that actually sends the intended prefixes into it |
| Forwarding only | A chosen SOCKS, local-forward or remote-forward listener | A permitted destination path on the far side |
ডান কলামটি মনোযোগ দিয়ে পড়ুন, কারণ বেশিরভাগ এমন টিকিট ওখানেই শেষ হয়। নিখুঁতভাবে তৈরি টানেল ডিভাইসও কেবল রাউটিং যা তার ভিতরে পাঠায় তা-ই ঢাকে, আর নিখুঁত ফরওয়ার্ডও কেবল তাদেরই সাহায্য করে যাদের এটি ব্যবহার করতে বলা হয়েছে।
ডামি ইন্টারফেস কোনো টানেল নয়
ফরওয়ার্ডিং মোডে প্লাগইনটি সংযোগ মডেল মেটাতে তৈরি একটি ডামি ইন্টারফেস নথিভুক্ত করে। এটি থাকে যাতে ম্যানেজারের অবস্থা সংযুক্ত করার মতো কিছু থাকে। এটি দূরবর্তী নেটওয়ার্কে ইচ্ছামতো অ্যাপ্লিকেশন প্যাকেট বহন করে না, আর এর উপস্থিতি থেকে IP রাউটিং বদলেছে এমন কিছু বোঝায় না।
প্রকল্পের পূর্ণ-টানেল উদাহরণগুলো OpenSSH টানেল-ডিভাইস সমর্থন নিয়ে, তাই লেবেলের টানেল শব্দটি একটি সক্ষমতার বর্ণনা, আপনার কার্যকর নীতির নয়। প্রোফাইলের নাম কী তা নয়, কার্নেল কী করবে তা যাচাই করুন।
nmcli connection show --active
ip -br link
ss -lntp | grep -E "1080|8080"
তারপর ফলটি অ্যাপ্লিকেশনের সঙ্গে মিলিয়ে নিন। SOCKS বোঝে এমন প্রোগ্রামকে প্রক্সি ব্যবহার করতে কনফিগার করতে হবে। লোকাল-ফরওয়ার্ড ভোক্তাকে তার শ্রবণকারীর দিকে নির্দেশ করতে হবে। কোনোটিই নিজে থেকে ফরওয়ার্ড আবিষ্কার করে না, আর সবুজ হয়ে যাওয়া সংযোগ সূচক কোনোটিকেই সাহায্য করে না।
দূরবর্তী দিক জোর না করে প্রস্তুত করুন
সাধারণ SSH অ্যাকাউন্ট দূরবর্তী টানেল ডিভাইস তোলার কোনো অনুমতি ছাড়াই প্রমাণীকরণ করতে পারে। প্রকল্পটি রুটবিহীন একটি পথ নথিভুক্ত করে যেখানে একজন প্রশাসক ওই ব্যবহারকারীর জন্য ডিভাইসটি আগেই তৈরি করেন, আর ক্লায়েন্ট তখন মিলে যাওয়া নম্বরটি বেছে নেয়।
এমন ব্যবস্থার জন্য সার্ভারের টানেল নীতির সঙ্গে এবং দূরবর্তী নেটওয়ার্কে ঠিকানা যার মালিক তার সঙ্গে সমন্বয় দরকার। ডিভাইস তৈরি করলে নিজে থেকেই সম্পদের রুট, ফরওয়ার্ডিং অনুমতি বা ফেরার পথ মেলে না, আর নমুনা কনফিগারেশন বিশ্বাসযোগ্য দেখাচ্ছিল বলে এর কোনোটিই আসে না।
যা করা উচিত নয় তা হলো নমুনা কাজ করানোর জন্য সীমাহীন ফরওয়ার্ডিং বা দূরবর্তী রুট লগইন চালু করা। যেখানে অপারেটরের কাছে দূরবর্তী নেটওয়ার্ক সেটআপের দায়িত্ব আছে, সেখানে ওই কমান্ডগুলো সেই মালিকের হাতে ছেড়ে দেওয়ার সমর্থিত ব্যবস্থা ব্যবহার করুন, এবং সংযোগ বিচ্ছিন্ন হলে বিরোধপূর্ণ ঠিকানা পুনঃস্থাপনকারী দ্বিতীয় সহায়ক এড়িয়ে চলুন।
প্রমাণীকরণের প্রেক্ষাপট, এবং টিকিটে কী লিখবেন
প্রমাণীকরণের নিজস্ব প্রেক্ষাপট আছে। প্লাগইনটি ব্যবহারকারী সেশনের সঙ্গে যুক্ত একটি SSH এজেন্ট খোঁজে এবং গন্তব্য হোস্টটি পরিচিত হতে হবে, তাই একটি টার্মিনালে কাজ করা কী স্বয়ংক্রিয়ভাবে ম্যানেজারের প্রমাণীকরণ পথে দৃশ্যমান হয় না। যাচাই বন্ধ করার বদলে অনুমোদিত প্রক্রিয়ার মাধ্যমে হোস্ট কী নিবন্ধন ও যাচাই করুন।
সহায়তার জন্য চারটি জিনিস লিখে রাখুন: প্লাগইন ও সংস্করণ, নির্বাচিত মোড, অভিপ্রেত দূরবর্তী পরিচয়, এবং যে ইন্টারফেস বা শ্রবণকারীর উপস্থিত হওয়ার কথা ছিল। তারপর অ্যাপ্লিকেশনের প্রবেশবিন্দু সরাসরি পরীক্ষা করুন। সংযুক্ত সূচক ও কাজ করা পরীক্ষা হলো প্রমাণ; একা সংযুক্ত সূচক SSH সম্পর্কে একটি বিবৃতি, আপনি যে রাউটিং বা সম্পদ অনুমতি পেতে চাইছিলেন তা সম্পর্কে নয়।