পোর্টটি সরাসরি পরীক্ষা করুন
ping-এর উত্তর পাওয়া বা ওয়েবসাইট সচল থাকা থেকে SSH-এর অবস্থা বোঝা যায় না, কারণ প্রতিটি ভিন্ন প্রোটোকল বা পোর্ট ব্যবহার করে। ক্লায়েন্ট থেকে TCP পোর্টটি সরাসরি পরীক্ষা করুন। Connection refused মানে কোনো কিছু উত্তর দিয়েছে, কিন্তু কোনো সার্ভিস সংযোগ গ্রহণ করেনি। সময়সীমা পেরিয়ে যাওয়ার অর্থ কোনো উত্তরই আসেনি, যা সাধারণত ফায়ারওয়াল, রাউটিং বা কম্পিউটারে অতিরিক্ত চাপের দিকে ইঙ্গিত করে।
nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.exampleConnection refused: কনসোল থেকে sshd যাচাই করুন
SSH নয়, প্রদানকারী বা হাইপারভাইজারের কনসোল ব্যবহার করুন। সার্ভিস চলছে কি না, কোন ঠিকানা ও পোর্টে শুনছে এবং কনফিগারেশন বৈধ কি না যাচাই করুন। Ubuntu-এর সাম্প্রতিক সংস্করণে SSH, ssh.socket-এর মাধ্যমে চালু হয়, তাই সকেট ইউনিটটিও দেখুন। অন্য ডিস্ট্রিবিউশনে সার্ভিসটির নাম sshd হতে পারে।
sudo systemctl status ssh.service ssh.socket
sudo ss -lntp | grep -E ':22\b|sshd'
sudo sshd -t
sudo journalctl -u ssh -n 50 --no-pagerসময়সীমা পেরিয়ে গেলে: ফায়ারওয়াল যাচাই করুন
সার্ভারের ফায়ারওয়াল এবং বাইরের সব ফিল্টার দেখুন, যেমন ক্লাউড সিকিউরিটি গ্রুপ, রাউটার বা প্রদানকারীর প্যানেল। প্যাকেট আদৌ পৌঁছাচ্ছে কি না দেখতে সংযোগের চেষ্টার সময় সার্ভারে tcpdump চালান। কিছুই দেখা না গেলে বাধাটি সার্ভারে পৌঁছানোর আগেই রয়েছে। প্যাকেট এলে কিন্তু কোনো উত্তর বের না হলে সার্ভারে কারণ খুঁজুন।
sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22fail2ban-এর বাধা বা পোর্ট পরিবর্তন
ব্যর্থ লগইনের পর fail2ban আপনার ঠিকানা ব্লক করে থাকতে পারে। এতে শুধু আপনার ঠিকানা থেকে সংযোগের সময়সীমা পেরিয়ে যায় বা সংযোগ প্রত্যাখ্যাত হয়। অন্য নেটওয়ার্ক থেকে পরীক্ষা করলে এটি দ্রুত বোঝা যায়। এ ছাড়াও দেখুন, Port দিয়ে পোর্ট বদলানো হয়েছে কি না বা ListenAddress দিয়ে শুধু একটি ঠিকানায় শোনার সীমা দেওয়া হয়েছে কি না। সেটিংগুলো sshd_config-এ অথবা এই ডিরেক্টরির কোনো ফাইলে থাকতে পারে: /etc/ssh/sshd_config.d.
sudo fail2ban-client status sshd
sudo sshd -T | grep -E '^(port|listenaddress) 'পোর্টে সংযোগ হয়, কিন্তু লগইন আটকে যায়
TCP সংযোগ সফল হলেও SSH-এর প্রাথমিক পরিচয়বার্তা কখনো না এলে sshd কেবল আংশিকভাবে কাজ করছে অথবা সিস্টেমে অতিরিক্ত চাপ রয়েছে। কনসোল থেকে মেমরি, ডিস্কের জায়গা ও লোড দেখুন। ডিস্ক পূর্ণ হওয়া বা মেমরি ফুরিয়ে যাওয়ায় নতুন সেশন বন্ধ হয়ে যেতে পারে, যদিও চলমান সার্ভিসগুলো তখনও সাড়া দেয়।
uptime
free -h
df -hCH-J Server Manager দিয়ে যাচাই
Server Diagnostics লগইন ছাড়াই IPv4 ও IPv6-এর জন্য ping, TCP সংযোগ ও SSH পরিচয় স্ট্রিং পরীক্ষা করতে পারে, যাতে কোন ধাপে ব্যর্থতা হচ্ছে বোঝা যায়। এটি শুধু আপনার কম্পিউটার থেকে কাজ করে। এটি সার্ভারের ভেতরে দেখতে বা কোন ফায়ারওয়াল প্যাকেট ফেলে দিয়েছে তা বলতে পারে না, তাই ওপরের যাচাইগুলোর জন্য এখনও কনসোল দরকার।