CH-J Server ManagerSSH کے ذریعے سرور کا انتظام
مینو
تمام رہنما اور مضامین ←

سرور آن لائن ہے مگر SSH پورٹ 22 جواب نہیں دے رہا

کلائنٹ، نیٹ ورک، فائر وال اور sshd کو ترتیب سے جانچیں تاکہ معلوم ہو کہ سرور جواب دیتا ہے مگر SSH کیوں نہیں۔

خود پورٹ کو آزمائیں

ping کا جواب ملنا یا ویب سائٹ کا چلنا SSH کی حالت کے بارے میں کچھ نہیں بتاتا، کیونکہ ہر ایک الگ پروٹوکول یا پورٹ استعمال کرتا ہے۔ کلائنٹ سے براہ راست TCP پورٹ آزمائیں۔ Connection refused کا مطلب ہے کہ کسی طرف سے جواب آیا مگر کسی سروس نے کنکشن قبول نہیں کیا۔ timeout کا مطلب ہے کہ کوئی جواب نہیں آیا، جو عموماً فائر وال، روٹنگ یا حد سے زیادہ بوجھ والے کمپیوٹر کی طرف اشارہ کرتا ہے۔

nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.example

Connection refused: کنسول سے sshd جانچیں

SSH کے بجائے فراہم کنندہ یا ہائپروائزر کا کنسول استعمال کریں۔ جانچیں کہ سروس چل رہی ہے، کس ایڈریس اور پورٹ پر سن رہی ہے، اور ترتیب درست ہے یا نہیں۔ Ubuntu کی حالیہ ریلیز میں SSH کا آغاز ssh.socket کے ذریعے ہوتا ہے، اس لیے 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

Timeout: فائر والز جانچیں

سرور کی فائر وال کے ساتھ اس کے باہر موجود ہر فلٹر بھی دیکھیں، مثلاً کلاؤڈ سیکیورٹی گروپ، راؤٹر یا فراہم کنندہ کا پینل۔ یہ دیکھنے کے لیے کہ پیکٹ پہنچ بھی رہے ہیں یا نہیں، کنکشن کی کوشش کے دوران سرور پر tcpdump چلائیں۔ اگر کچھ نظر نہ آئے تو رکاوٹ سرور سے پہلے ہے۔ اگر پیکٹ آ رہے ہوں مگر کوئی جواب باہر نہ جا رہا ہو تو سرور پر وجہ تلاش کریں۔

sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22

fail2ban یا بدلے ہوئے پورٹ کی وجہ سے رکاوٹ

ناکام لاگ ان کوششوں کے بعد fail2ban نے آپ کا ایڈریس بلاک کر دیا ہو سکتا ہے، جس سے صرف آپ کے ایڈریس سے timeout یا کنکشن مسترد ہونے کی صورت نظر آتی ہے۔ دوسرے نیٹ ورک سے آزمانے پر یہ جلد واضح ہو جاتا ہے۔ یہ بھی جانچیں کہ 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 -h

CH-J Server Manager سے جانچ

Server Diagnostics بغیر لاگ ان کیے IPv4 اور IPv6 کے لیے ping، TCP کنکشن اور SSH شناختی اسٹرنگ آزما سکتا ہے، تاکہ آپ دیکھ سکیں کہ کون سا مرحلہ ناکام ہو رہا ہے۔ یہ صرف آپ کے کمپیوٹر سے کام کرتا ہے۔ یہ سرور کے اندر نہیں دیکھ سکتا اور نہ بتا سکتا ہے کہ کس فائر وال نے پیکٹ گرایا، اس لیے اوپر کی جانچوں کے لیے اب بھی کنسول درکار ہے۔

تفصیلی دستاویزات

OpenSSH: sshd ←

man: ss ←

بایومیٹرک اَن لاک اور سیکیورٹی ←