CH-J Server ManagerSSH के ज़रिए सर्वर प्रबंधन
मेनू
सभी मार्गदर्शिकाएँ और लेख →

सर्वर ऑनलाइन है, लेकिन SSH पोर्ट 22 जवाब नहीं दे रहा

क्लाइंट, नेटवर्क, फ़ायरवॉल और sshd को क्रम से जाँचकर पता लगाएँ कि सर्वर जवाब क्यों दे रहा है, लेकिन SSH नहीं।

पोर्ट को सीधे जाँचें

ping का जवाब मिलना या वेबसाइट का काम करना SSH के बारे में कुछ नहीं बताता, क्योंकि हर एक अलग प्रोटोकॉल या पोर्ट का उपयोग करता है। क्लाइंट से TCP पोर्ट को सीधे जाँचें। Connection refused का मतलब है कि किसी ने जवाब दिया, लेकिन किसी सेवा ने कनेक्शन स्वीकार नहीं किया। समय समाप्त होने का मतलब है कि कोई जवाब नहीं मिला, जो आम तौर पर फ़ायरवॉल, रूटिंग या कंप्यूटर पर अत्यधिक लोड की ओर इशारा करता है।

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

Connection 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 22

fail2ban से ब्लॉक होना या पोर्ट बदल जाना

लॉगिन के असफल प्रयासों के बाद 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 -h

CH-J Server Manager से जाँच

Server Diagnostics बिना लॉगिन किए IPv4 और IPv6 के लिए ping, TCP कनेक्शन और SSH पहचान स्ट्रिंग जाँच सकता है, जिससे आप देख सकते हैं कि कौन सा चरण विफल हो रहा है। यह केवल आपके कंप्यूटर से काम करता है। यह सर्वर के अंदर नहीं देख सकता और न बता सकता है कि किस फ़ायरवॉल ने पैकेट गिराया, इसलिए ऊपर बताई गई जाँचों के लिए अभी भी कंसोल चाहिए।

विस्तृत दस्तावेज़

OpenSSH: sshd →

man: ss →

बायोमेट्रिक अनलॉक और सुरक्षा →