लिनक्स में SSH कनेक्शन को गति देने के 4 तरीके


SSH दूर से लिनक्स सर्वर के प्रबंधन के लिए सबसे लोकप्रिय और सुरक्षित तरीका है। दूरस्थ सर्वर प्रबंधन के साथ चुनौतियों में से एक कनेक्शन गति है, खासकर जब यह दूरस्थ और स्थानीय मशीनों के बीच सत्र निर्माण की बात आती है।

इस प्रक्रिया में कई अड़चनें हैं, एक परिदृश्य तब है जब आप पहली बार किसी दूरस्थ सर्वर से कनेक्ट कर रहे हैं; यह आम तौर पर एक सत्र स्थापित करने में कुछ सेकंड लेता है। हालाँकि, जब आप उत्तराधिकार में कई कनेक्शन शुरू करने की कोशिश करते हैं, तो यह ओवरहेड (अतिरिक्त या अप्रत्यक्ष गणना समय, मेमोरी, बैंडविड्थ, या ऑपरेशन से संबंधित अन्य संसाधनों के संयोजन) का कारण बनता है।

इस लेख में, हम चार उपयोगी टिप्स साझा करेंगे कि कैसे लिनक्स में दूरस्थ एसएसएच कनेक्शन को तेज किया जाए।

1. IPV4 पर SSH कनेक्शन को बल

OpenSSH IPv4/IP6 दोनों का समर्थन करता है, लेकिन कई बार IPv6 कनेक्शन धीमा हो जाता है। तो आप नीचे दिए गए सिंटैक्स का उपयोग करके, केवल IPv4 पर ssh कनेक्शन के लिए बाध्य करने पर विचार कर सकते हैं:

# ssh -4 [email 

वैकल्पिक रूप से, AddressFamily का उपयोग करें (कनेक्ट करते समय पता परिवार का उपयोग करने के लिए निर्दिष्ट करता है) अपनी ssh कॉन्फ़िगरेशन फ़ाइल में निर्देश /etc/ssh/ssh_config (वैश्विक कॉन्फ़िगरेशन या ~ /.ssh/config (उपयोगकर्ता विशिष्ट फ़ाइल)।

स्वीकृत मान IPv4 के लिए " कोई ", " inet " या " inet6 " हैं।

$ vi ~.ssh/config 

यहां उपयोगकर्ता विशिष्ट ssh कॉन्फ़िगरेशन फ़ाइल कॉन्फ़िगर करने पर एक उपयोगी स्टार्टर गाइड है:

  1. How to Configure Custom SSH Connections to Simplify Remote Access

इसके अतिरिक्त, रिमोट मशीन पर, आप /etc/ssh/sshd_config फ़ाइल में उपरोक्त निर्देश का उपयोग करके IPv4 पर कनेक्शन पर विचार करने के लिए sshd डेमॉन को भी निर्देश दे सकते हैं।

2. रिमोट मशीन पर डीएनएस लुकअप को अक्षम करें

डिफ़ॉल्ट रूप से, sshd डेमॉन दूरस्थ होस्ट नाम को देखता है, और यह भी जाँचता है कि दूरस्थ IP पते के लिए हल किया गया होस्ट नाम बहुत ही IP पते पर वापस आता है। इसके परिणामस्वरूप कनेक्शन स्थापना या सत्र निर्माण में देरी हो सकती है।

UseDNS निर्देश उपरोक्त कार्यक्षमता को नियंत्रित करता है; इसे अक्षम करने के लिए, इसे /etc/ssh/sshd_config फ़ाइल में खोजें और अनचेक करें। यदि यह सेट नहीं है, तो इसे मान no के साथ जोड़ें।

UseDNS  no

3. SSH कनेक्शन का पुन: उपयोग करें

एक ssh क्लाइंट प्रोग्राम का उपयोग दूरस्थ कनेक्शनों को स्वीकार करने वाले sshd डेमॉन को कनेक्शन स्थापित करने के लिए किया जाता है। नया ssh सत्र बनाते समय आप पहले से स्थापित कनेक्शन का पुन: उपयोग कर सकते हैं और इससे बाद के सत्रों में काफी तेजी आ सकती है।

आप इसे अपनी ~/.ssh/config फ़ाइल में सक्षम कर सकते हैं।

Host *
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%[email %h-%p
	ControlPersist 600

उपरोक्त कॉन्फ़िगरेशन ( होस्ट * ) उन सभी दूरस्थ सर्वरों के लिए कनेक्शन का पुन: उपयोग करने में सक्षम करेगा जिन्हें आप इन निर्देशों का उपयोग करके कनेक्ट करते हैं:

  • ControlMaster – enables the sharing of multiple sessions over a single network connection.
  • ControlPath – defines a path to the control socket used for connection sharing.
  • ControlPersist – if used together with ControlMaster, tells ssh to keep the master connection open in the background (waiting for future client connections) once the initial client connection has been closed.

आप उदाहरण के लिए, किसी विशिष्ट दूरस्थ सर्वर से कनेक्शन के लिए इसे सक्षम कर सकते हैं:

Host server1
	HostName   www.example.com
	IdentityFile  ~/.ssh/webserver.pem
      	User username_here
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%[email %h-%p
	ControlPersist  600

इस तरह आप केवल पहले कनेक्शन के लिए कनेक्शन ओवरहेड पीड़ित हैं, और बाद के सभी कनेक्शन बहुत तेज हो जाएंगे।

4. विशिष्ट एसएसएच प्रमाणीकरण विधि का उपयोग करें

Ssh कनेक्शन को गति देने का एक और तरीका है, सभी ssh कनेक्शन के लिए दिए गए प्रमाणीकरण विधि का उपयोग करना, और यहां हम 5 आसान चरणों में ssh keygen का उपयोग करके ssh पासवर्ड रहित लॉगिन को कॉन्फ़िगर करने की सलाह देते हैं।

एक बार ऐसा करने के बाद, ऊपर ssh_config फ़ाइलों (वैश्विक या उपयोगकर्ता विशिष्ट) के भीतर PreferredAuthentication निर्देश का उपयोग करें। यह निर्देश उस आदेश को परिभाषित करता है जिसमें क्लाइंट को प्रमाणीकरण विधियों का प्रयास करना चाहिए (आप एक से अधिक विधियों का उपयोग करने के लिए एक कमांड सेपरेट की गई सूची निर्दिष्ट कर सकते हैं)।

PreferredAuthentications=publickey 

वैकल्पिक रूप से, कमांड लाइन से नीचे इस सिंटैक्स का उपयोग करें।

# ssh -o "PreferredAuthentications=publickey" [email 

यदि आप पासवर्ड प्रमाणीकरण पसंद करते हैं जो असुरक्षित माना जाता है, तो इसका उपयोग करें।

# ssh -o "PreferredAuthentications=password" [email 

अंत में, आपको उपरोक्त सभी बदलाव करने के बाद अपने sshd डेमॉन को पुनः आरंभ करने की आवश्यकता है।

# systemctl restart sshd	#Systemd
# service sshd restart 		#SysVInit

यहां उपयोग किए गए निर्देशों के बारे में अधिक जानकारी के लिए, ssh_config और sshd_config मैन पेज देखें।

# man ssh_config
# man sshd_config 

लिनक्स सिस्टम पर ssh सुरक्षित करने के लिए इन उपयोगी गाइडों की भी जाँच करें:

  1. 5 Best Practices to Secure and Protect SSH Server
  2. How to Disconnect Inactive or Idle SSH Connections in Linux

अभी के लिए इतना ही! क्या आपके पास SSH कनेक्शन को गति देने के लिए कोई सुझाव/ट्रिक्स हैं। हम ऐसा करने के अन्य तरीकों को सुनना पसंद करेंगे। हमारे साथ साझा करने के लिए नीचे दिए गए टिप्पणी फ़ॉर्म का उपयोग करें।