ssh ग्राहक वियोग का पता लगाने का तरीका


1

जब एक 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

1
मुझे एक मज़ेदार अहसास है कि आप वास्तव में 0xFF प्राप्त नहीं कर रहे हैं, लेकिन यह है कि आपका रीड -1 (EOF) वापस आ रहा है, जिसे आप 0xFF दे रहे हैं। कृपया अपना कोड जांचें और इस संभावना को बताएं।
aecolley
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.