जवाबों:
यदि आप लिनक्स का उपयोग कर रहे हैं, तो आप इस प्रक्रिया को मार सकते हैं:
ps aux | grep ssh
और फिर उपयोग करें
kill <id>
प्रक्रिया को मारने के लिए।
यदि मार कमांड सफल नहीं है, तो आप कोशिश कर सकते हैं
kill -9 <id>
kill -9
जब तक कि आपने अभी कोशिश नहीं की है kill
। कई प्रक्रियाओं में सिग्नल हैंडलर होंगे जो अपने संसाधनों का उपयोग, करीबी कनेक्शन और अन्य पूर्व-बंद कार्यों को साफ करेंगे। यदि आप -9 के साथ मारते हैं, तो प्रक्रिया सफाई किए बिना तुरंत मर जाती है। -9 के बिना हत्या ज्यादातर समय काम करेगी ।
kill -9
बिना कारण मच्छर को मारने के लिए बन्दूक का उपयोग करना पसंद है। :)
pgrep ssh | xargs kill
। -9
वास्तव में कुछ भी नहीं के लिए उपयोग न करें
ssh
आदेश है, या यह कि आप जो भी कमांड ssh
चला रहे हैं, उसे मारने के लिए ठीक है। यह शायद ही एक अच्छी सामान्य धारणा है।
ssh
हर समय कई दूरस्थ सर्वरों पर कई उदाहरणों से जुड़ता हूं , उनमें से कुछ मेरी प्रत्यक्ष सक्रिय भागीदारी के बिना हैं। उदाहरण के लिए, Emacs Tramp मोड ssh
जब मैं एक दूरस्थ बफर पर जाता हूं तो पर्दे के पीछे एक कनेक्शन खोलता है । कुछ लोग यूजरस्पेस फाइलसिस्टम का उपयोग करते हैं जो कुछ ऐसा ही करते हैं। यह बिल्कुल असामान्य नहीं है। वास्तव में, मैं एकल उपयोगकर्ता को मान लूंगा, ssh
अल्पसंख्यक फ्रिंज उपयोग के मामले में एकल उदाहरण। अगर यह आपके लिए काम करता है, तो आपके लिए अच्छा है, लेकिन यह सामान्य सलाह नहीं है।
Ssh मल्टीप्लेक्सिंग का उपयोग करते समय, ssh प्रक्रिया को मारना अक्सर अवांछनीय होता है (यह उस होस्ट के साथ सभी खुले कनेक्शनों को मारता है), और आप आसानी से भागने का उपयोग नहीं कर सकते हैं क्योंकि "एस्केप मल्टीप्लेक्सेड सत्रों के लिए उपलब्ध नहीं है"। सही तरीका तो यह है कि आप जिस कमांड को रद्द करना चाहते हैं, उसके अग्र भाग को चलाएं, लेकिन जोड़ते हुए -O cancel
। उदाहरण के लिए:
ssh -O cancel -L 10002:192.168.0.30:10002 192.168.1.135
यह सत्र समाप्त किए बिना इस पोर्ट अग्रेषण को अक्षम कर देगा। फिर, यह केवल तभी काम करेगा जब ssh मल्टीप्लेक्सिंग 192.168.1.135 के कनेक्शन के लिए उपयोग में हो ।
ssh -O exit 192.168.1.135
।
पहले से चल रहे SSH सत्र में अग्रेषित पोर्ट को कैसे रद्द करें:
-KL port
आपको यह देखना चाहिए:
ssh> -KL 10002
Canceled forwarding.
आप "एस्केप-की" का उपयोग कर सकते हैं (आमतौर पर ~) सी के बाद आपके कनेक्शन के लिए एक क्ली प्राप्त करने के लिए। आप वहां से अपने कनेक्शन को हटाए बिना सुरंगों को हटा सकते हैं।
आप टाइप करके एक इंटरैक्टिव कंसोल दर्ज कर सकते हैं ~C(राजधानी "सी")। यह आपको पोर्ट फॉरवर्डिंग (कुछ अन्य चीजों के बीच) को गतिशील रूप से जोड़ने और हटाने देता है।
इस अनुक्रम को एक गाड़ी वापसी / न्यूलाइन के ठीक बाद आना होगा । तो संदेह में, बस टाइप करें Enter~C(क्रम में)।
यदि आपको कंसोल पर वर्ण दिखाई नहीं देते हैं, तो आप इसे सही कर रहे हैं :)
अब आपको एक ssh>
प्रॉम्प्ट देखना चाहिए ।
बंदरगाह को हटाने के लिए, बस -KL 10002
इसके बाद Enter(जहां 10002
आपका अग्रेषित पोर्ट है) दर्ज करें।
उलटा - एक नया आगे जोड़ना - इस तरह से किया जा सकता है (शुरू से अंत तक):
Enter~C
ssh> -L 10002:192.168.0.30:10002
Enter
~C escape not available to multiplexed sessions
। यदि ऐसा है, तो a3nm का उत्कृष्ट उत्तर देखें।
Warning: remote port forwarding failed for listen port
संदेश पाने के लिए एक नया ssh सत्र फायर करते हैं ।