• जब SSH session अटक जाए, तो process को force quit किए बिना SSH में built-in escape sequence menu के ज़रिए कई तरह के control किए जा सकते हैं
  • session के भीतर ↵Enter दबाने के बाद ~? टाइप करें, तो hidden commands की सूची दिखाई देती है, और ~. से किसी भी स्थिति में तुरंत connection बंद किया जा सकता है
  • ये escape sequences खुद SSH client में built-in होते हैं, इसलिए server response न होने या connection टूट जाने पर भी काम करते हैं
  • nested SSH sessions में ~~ का इस्तेमाल करके sequence को inner client तक भेजा जा सकता है
  • इसके अलावा -C, -v, -D जैसे काम के SSH options भी साथ में बताए गए हैं

SSH escape sequence menu

  • SSH session के भीतर ↵Enter दबाने के बाद ~? टाइप करने पर supported escape sequences की सूची देखी जा सकती है
  • मुख्य sequences की सूची:
    • ~. — connection बंद करना (multiplexed sessions सहित)
    • ~B — remote system को BREAK signal भेजना
    • ~Ccommand line खोलना (port forwarding सेट किया जा सकता है, help टाइप करके निर्देश देखे जा सकते हैं)
    • ~Rrekey request
    • ~V/v — verbosity(LogLevel) बढ़ाना/घटाना
    • ~^Z — SSH को अस्थायी रूप से रोकना (suspend)
    • ~# — forwarded connections की सूची दिखाना
    • ~& — SSH को background में भेजना (जब connection बंद होने का इंतज़ार हो रहा हो)
    • ~~ — escape character को ही भेजना (दो बार टाइप करके)
  • ये sequences SSH client में ही built-in होते हैं, इसलिए SSH server response न दे रहा हो या connection टूट गया हो, तब भी ये काम करते हैं
  • इनमें सबसे उपयोगी ~. है, जिससे session अटक जाने पर किसी भी स्थिति में तुरंत बाहर निकला जा सकता है
  • escape sequences को सिर्फ नई पंक्ति (newline) के तुरंत बाद ही पहचाना जाता है

nested SSH sessions में उपयोग

  • SSH session के अंदर दोबारा SSH से login किए गए nested environment में ~~ का उपयोग करके sequence को inner client तक भेजा जा सकता है
  • उदाहरण:
  pinkie@stable:~$ ssh ponyville        # stable  
  pinkie@ponyville:~$ ssh manehatten    # stable › ponyville  
  pinkie@manehatten: ~$                 # stable › ponyville › manehatten  
  pinkie@manehatten:~$ Connection to manehatten closed. # ↵Enter `~~.`  
  pinkie@ponyville:~$                   # stable › ponyville  
  pinkie@ponyville:~$ ssh manehatten stable › ponyville  
  pinkie@manehatten: ~$                 # stable › ponyville › manehatten  
  pinkie@manehatten:~$ Connection to ponyville closed. # ↵Enter `~.`  
  pinkie@stable:~$                      # stable  
  • stable → ponyville → manehatten के रूप में login होने की स्थिति में
  • ~~. डालने पर सिर्फ सबसे अंदर वाला session (manehatten) बंद होता है और ponyville पर वापसी होती है
  • ~. डालने पर बीच वाला session (ponyville) तक बंद हो जाता है और stable पर वापसी होती है

bonus SSH options

  • ssh -Cgzip compression सक्षम करता है; documentation में इसे तेज network पर अनावश्यक बताया गया है, लेकिन TUI उपयोग या बड़े पैमाने पर log output के समय latency और responsiveness बेहतर करने में काफ़ी असरदार हो सकता है
  • ssh -vdetailed logging सक्षम करता है (-vv, -vvv से और अधिक जानकारी दिखाई जा सकती है); slow connection या Raspberry Pi जैसे धीमे डिवाइस से जुड़ते समय connection सच में अटका है या सिर्फ धीमा है, यह समझने में उपयोगी है
  • ssh -D 1234localhost:1234 पर SOCKS proxy बनाता है, जिससे server के network के ज़रिए access किया जा सकता है और server-side LAN कामों या सरल DIY VPN की तरह इस्तेमाल किया जा सकता है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.