जब एक SSH क्लाइंट मेरे सर्वर से डिस्कनेक्ट करता है तो मैं कैसे पता लगा सकता हूं? यदि क्लाइंट के साथ कनेक्शन बाधित है (क्लाइंट डिसकनेक्शन कमांड नहीं भेजता है), तो मेरा सर्वर एप्लिकेशन मानक इनपुट के माध्यम से वर्ण 0xFF प्राप्त करता है। मैं sshd_config में KeepAlive और ClientAlive मापदंडों का उपयोग करने की कोशिश करता हूं, लेकिन कनेक्शन कभी भी बंद नहीं होता (मुझे किसी भी सिग्नल जैसे SIGHUP, SIGTERM या कोई अन्य प्राप्त नहीं होता)।
दूसरी ओर, मैं एक त्रिशंकु कनेक्शन कैसे बंद कर सकता हूं? कई कनेक्शन स्थापित हैं और अन्य अच्छी तरह से काम करते हैं। SSH सर्वर को पुनरारंभ करना समाधान नहीं है।
वास्तव में ssh क्लाइंट आपके एप्लिकेशन से कैसे जुड़ रहा है?
—
Kenster
आप उस वर्बोसिटी को बढ़ाने का प्रयास कर सकते हैं जिसमें sshd (या जो भी ssh डेमन आप उपयोग करते हैं) घटनाओं को लॉग करता है और यदि आप इसके लिए खुले हैं, तो उन घटनाओं के लिए सिस्टम लॉग के माध्यम से पार्स करें जो उन घटनाओं को इंगित करते हैं जिन्हें आप खोज रहे हैं।
—
James Lui
इससे कोई फर्क नहीं पड़ता कि ग्राहक कैसे जुड़ता है। भले ही मैं linux ssh क्लाइंट को लोकलहोस्ट से कनेक्ट करने का उपयोग करता हूँ।
—
mauricio
लॉग कहा: sshd [26230]: 10.0.0.1 से 11 बजे डिस्कनेक्ट हो गया: 11: उपयोगकर्ता sshd द्वारा डिस्कनेक्ट किया गया [26227]: pam_unix (sshd: session): सत्र उपयोगकर्ता xxxxx के लिए बंद हो गया - और, ज़ाहिर है, कोई भी संकेत प्राप्त ...
—
mauricio
मुझे एक मज़ेदार अहसास है कि आप वास्तव में 0xFF प्राप्त नहीं कर रहे हैं, लेकिन यह है कि आपका रीड -1 (EOF) वापस आ रहा है, जिसे आप 0xFF दे रहे हैं। कृपया अपना कोड जांचें और इस संभावना को बताएं।
—
aecolley