Ping কাজ করে কিন্তু VPN-এ SSH ব্যর্থ: কোন ধাপ ভেঙেছে?
একটি বিস্তারিত প্রচেষ্টা TCP পৌঁছানোর ক্ষমতা, SSH পরিবহন, হোস্ট পরিচয়, ব্যবহারকারীর লগইন এবং সেশন অনুমতি আলাদা করে, যাতে আপনি টানেল নিয়ে অনুমান করা বন্ধ করেন।
Ping প্রতিক্রিয়া এবং প্রত্যাখ্যাত SSH লগইন একইসঙ্গে সত্য হতে পারে, এবং এই জোড়া টানেলকে দোষ দেয় না। ইকো প্রতিক্রিয়া এবং পোর্ট 22-এ TCP সংযোগ ভিন্ন সিলেক্টর, ভিন্ন নীতি এবং প্রায়ই ভিন্ন গন্তব্য সহ ভিন্ন পরীক্ষা। একটি সচেতন SSH প্রচেষ্টা ধারণ করুন, তারপর এটি কোন শেষ ধাপে পৌঁছেছে তা নাম দিন। সেই একক নিদর্শন এক ডজন অনুমানভিত্তিক কনফিগারেশন পরিবর্তনকে প্রতিস্থাপন করে।
একটি প্রচেষ্টা ধারণ করুন, অনেকগুলো খোঁচানোর সেশন নয়
ক্লায়েন্টটিকে একবার বিস্তারিত ডায়াগনস্টিকস, সংযোগ ভাগাভাগি নিষ্ক্রিয় এবং সীমাবদ্ধ সংযোগ সময়সীমা সহ চালান। ভাগাভাগি নিষ্ক্রিয় করা জরুরি, কারণ আগে প্রমাণীকৃত একটি মাস্টার সংযোগ অন্যথায় নতুন প্রচেষ্টার পক্ষে উত্তর দেবে এবং আপনি যে ব্যর্থতা খুঁজছেন তা লুকাবে।
ssh -4 -vv -o ControlPath=none -o ConnectTimeout=10 [email protected]
গন্তব্য, ঠিকানা পরিবার, সময়চিহ্ন এবং শেষ অগোপন ত্রুটি রাখুন। IPv4 ফ্ল্যাগের মানে এই যে এই প্রচেষ্টা একই নামে IPv6 পথ সম্পর্কে কিছু বলে না, তাই এটি থেকে সাধারণীকরণ করবেন না। প্রচেষ্টাটি কোথা থেকে করা হয়েছে তা লিপিবদ্ধ করুন। VPN গেটওয়েতে করা পরীক্ষা তার পিছনের ল্যাপটপের মতো একই দৃষ্টিকোণ নয়, এবং এই টিকিটগুলির বেশিরভাগ দ্বন্দ্ব দুটিকে মিশ্রিত করা থেকে আসে।
প্রথম ও দ্বিতীয় ধাপ: SSH-এর আগে TCP
প্রথম সীমা হলো সকেটের পৌঁছানোর ক্ষমতা: একটি ঠিকানা, একটি পোর্ট এবং একটি পথ যা প্যাকেট সত্যিই অনুসরণ করে। যদি TCP সংযোগ কখনো সম্পূর্ণ না হয়, তার উপরে এখনো কিছু নেই, এবং হোস্ট কী ও অ্যাকাউন্ট অপ্রাসঙ্গিক।
nc -vz 10.90.4.20 22
ip route get 10.90.4.20
tcpdump -ni any 'host 10.90.4.20 and port 22'
ক্যাপচারটি ক্লায়েন্ট প্রচেষ্টার সঙ্গে সম্পর্কিত করুন। একটি SYN বেরিয়ে যাওয়া এবং কিছু ফিরে না আসা ফিল্টারিং, সিলেক্টর বা দূর প্রান্তে অনুপস্থিত পথের দিকে ইঙ্গিত করে; রিসেট সহ উত্তর ফেলে দেওয়ার পরিবর্তে সক্রিয়ভাবে প্রত্যাখ্যান করার দিকে ইঙ্গিত করে। দ্বিতীয় সীমা হলো SSH প্রোটোকল বিনিময় নিজেই। সম্পূর্ণ হওয়া এবং তারপর থেমে যাওয়া TCP সংযোগ পৌঁছানোর ক্ষমতা পেরিয়ে আলোচনা, সার্ভার প্রতিক্রিয়া বা প্যাকেট হ্যান্ডলিংয়ে প্রবেশ করেছে। এটি একটি ভিন্ন তদন্ত, এবং এখানেই আকার-সম্পর্কিত সমস্যাগুলি প্রথম বিশ্বাসযোগ্য হয়।
তৃতীয় ধাপ: কার কী উত্তর দিল
পরিবহন চালু হলে ক্লায়েন্ট সার্ভারের হোস্ট কী যাচাই করে। এখানে প্রত্যাখ্যান পরিচয় সম্পর্কে একটি বিবৃতি, ক্রিপ্টোগ্রাফি সম্পর্কে নয়: প্রতিপক্ষ এমন একটি কী উপস্থাপন করেছে যা আপনার নীতি গ্রহণ করে না। এটিকে থামার শর্ত হিসেবে ধরুন এবং ব্যান্ডের বাইরে, কনসোলের মাধ্যমে বা যে অপারেটর হোস্টটি পুনর্নির্মাণ করেছে তার সঙ্গে যাচাই করুন। সতর্কতা মুছতে মনে রাখা এন্ট্রিটি ডিলিট করা হলো একমাত্র যে শর্টকাট প্রত্যাখ্যান করা উচিত, কারণ এটি এমন প্রমাণ ধ্বংস করে যে কিছু অপ্রত্যাশিতভাবে উত্তর দিয়েছিল।
যদি হোস্ট সত্যিই পুনর্নির্মিত হয়ে থাকে, নতুন ফিঙ্গারপ্রিন্ট নিশ্চিত হওয়ার পরেই পুরোনো রেকর্ড সরান, এবং তারিখ ও কারণ লিখুন। পরবর্তী প্রকৌশলী একই সতর্কতার সম্মুখীন হবেন এবং সেই প্রসঙ্গ দরকার।
চতুর্থ ও পঞ্চম ধাপ: অ্যাকাউন্ট বনাম অনুমতি
প্রমাণীকরণ হলো চতুর্থ সীমা। প্রত্যাখ্যাত শংসাপত্রের অর্থ সার্ভার প্রচেষ্টাটি মূল্যায়ন করেছে এবং প্রত্যাখ্যান করেছে; অ্যাকাউন্ট, সার্ভার যে ধরনের শংসাপত্র গ্রহণ করে এবং সার্ভারের নিজস্ব নীতি দেখুন, VPN পাসওয়ার্ড নয়। পঞ্চম সীমা হলো সফল লগইনের পরে অনুমোদন। প্রমাণীকৃত ব্যবহারকারীকে তবুও একটি শেল, একটি কমান্ড, একটি সাবসিস্টেম বা ফরওয়ার্ডিং প্রত্যাখ্যান করা যেতে পারে, এবং শুধু ক্লায়েন্টের শেষ লাইন পড়া কারও কাছে সেই প্রত্যাখ্যানগুলি ব্যর্থতার মতো দেখায়।
| Last stage reached | What it proves | Where to look next |
|---|---|---|
| No TCP connection | No SSH transport exists | Address, port, route, selectors, filter, listener |
| TCP up, exchange incomplete | Reachability is not the blocker | Server response, negotiation, packet handling |
| Host identity rejected | The peer is not the expected host | Independently verified host key |
| User authentication rejected | The attempt reached authentication | Account, credential and server policy |
| Authenticated, session denied | Login succeeded, the operation did not | Shell, command or forwarding permission |
কয়েকটি ব্যর্থ পাসওয়ার্ড প্রচেষ্টার পরে থামুন। পুনরাবৃত্ত অনুমান লকআউট তৈরি করে যা পরে একটি দ্বিতীয়, অসম্পর্কিত ত্রুটির মতো দেখায় এবং মূল টিকিটের চেয়ে বেশি সময় নষ্ট করে।
রোলব্যাক এবং যে রেকর্ড আপনি রাখেন
একবারে একটি জিনিস পরিবর্তন করুন, এবং পুনরায় পরীক্ষার আগে আপনি কী পরিবর্তন করেছেন তা লিখুন। যদি কোনো পরিবর্তন প্রচেষ্টাটিকে আরও খারাপ করে, উপরে আরেকটি সমাধান স্তূপ না করে অবিলম্বে তা ফিরিয়ে নিন। মূল ক্লায়েন্ট এবং প্রসঙ্গ থেকে মূল কাজটি পুনরাবৃত্তি করুন। ভিন্ন মেশিন থেকে, ভিন্ন ঠিকানা পরিবারে সফল লগইন পুনরুৎপাদন নয় এবং সমাধান প্রমাণ করে না।
আপনি যা ভাগ করেন তা পরিষ্কার করুন। বিস্তারিত ক্লায়েন্ট আউটপুটে অভ্যন্তরীণ নাম, অ্যাকাউন্ট লেবেল, কী পথ এবং পাবলিক কী শনাক্তকারী থাকতে পারে, তাই কাঁচা ট্রেসের বদলে ধাপে ধাপে সিদ্ধান্ত প্রকাশ করুন।