SSH को एक ऐसी मशीन पर पुनः आरंभ करें जहाँ SSH पहुँच का एकमात्र साधन है


29

मैंने sshd_config फ़ाइल में कुछ बदलाव किए हैं और इसलिए इसे पुनः आरंभ करने की आवश्यकता है। मैं सुरक्षित रूप से ssh को फिर से शुरू करने की युक्तियां देख रहा हूं जब सर्वर तक भौतिक पहुंच प्राप्त करना एक ह्यूगा PITA होगा।

जवाबों:


42

Ssh के माध्यम से लॉग इन करते समय sshd को पुनः आरंभ करना आपके ssh कनेक्शन को डिस्कनेक्ट नहीं करेगा।

यदि आप अपने कॉन्फ़िगरेशन के बारे में चिंतित हैं, तो ssh के माध्यम से कुछ समय में लॉग इन करें, और पुनरारंभ करें। यदि आप नए कनेक्शन के साथ अब ssh नहीं कर सकते हैं, तो अब आपके पास समस्याओं को ठीक करने के लिए पहुँच है।

@Milan Babuškov द्वारा एक टिप्पणी में नीचे उल्लेख किया गया: sshd -tयदि आप वास्तव में कुछ बनना चाहते हैं, तो आप सिंटैक्स शुद्धता के लिए अपने कॉन्फ़िगरेशन का परीक्षण करेंगे।

@Ronald Pottol द्वारा एक अन्य सुझाव, cronएक ज्ञात कार्य कॉन्फ़िगरेशन के साथ सर्वर को पुनरारंभ करने के लिए एक कार्य सेट करना था । शायद overkill, लेकिन अगर आप एक मिशन क्रिटिकल सर्वर को अपडेट कर रहे हैं, आदि ... कभी-कभी आप कभी भी सावधान नहीं हो सकते।


यह बहुत आसान है, समझ में भी आता है। वास्तव में त्वरित उत्तर के लिए धन्यवाद। FYI करें मैं जो बदलाव कर रहा था, उसमें काम किया;)
मिच


6

यदि आपके पास हार्डवेयर की पहुंच है, तो आप सीरियल पोर्ट / देव / ttyS0 पर टर्मिनल लगाने पर विचार कर सकते हैं। फिर आप अपने सर्वर में एक बैक डोर रख सकते हैं।

बस जोड़ें

SO:2345:respawn:/sbin/mingetty ttySO

आपके / etc / inittab और एक टर्मिनल आपके सीरियल पोर्ट पर स्पॉन करेगा। आप एक सीरियल पोर्ट कंसंटेटर का उपयोग कर सकते हैं या इसके बगल में सर्वर से एक नल मॉडेम का उपयोग कर सकते हैं।


ठंडा! क्या यह एक सुंदर मानक अभ्यास है?
मिच

3
बहुत मानक, जब तक आपके पास मशीन से जुड़ने का एक तरीका है जो धारावाहिक टर्मिनल सर्वर है।
कामिल किसियल

2
यह हो सकता है लेकिन वर्चुअलाइजेशन के कारण यह आवश्यक नहीं है क्योंकि आप हाइपरविजर के माध्यम से प्रबंधित कर सकते हैं। एक और अच्छी बात यह है कि अगर BIOS समर्थन करता है तो यह "कंसोल रीडायरेक्शन" है, यह आपके सीरियल कंसोल के माध्यम से सभी BIOS स्क्रीन दिखाएगा। GRUB में सीरियल कंसोल प्रदर्शित करने की क्षमता भी है। इसलिए यह देखने के लिए दूरस्थ वीडियो की आवश्यकता नहीं है कि आपका सर्वर ऑनलाइन वापस आएगा या नहीं।
कीथोसु

4

चिंता न करें, आपका वर्तमान सत्र डिस्कनेक्ट नहीं किया जाएगा, भले ही नए कॉन्फ़िगरेशन में कोई समस्या हो।

नए कॉन्फ़िगरेशन को लागू करने और sshd को पुनरारंभ करने के बाद, बस कुछ समय लॉगिन करने का प्रयास करें और लॉग पर एक नज़र डालें कि क्या सब कुछ ठीक है।


3

या, यदि आप अशुभ महसूस कर रहे हैं, तो इसे वापस शुरू करने के लिए क्रॉन या जॉब का उपयोग करें?


cronया atकाम करेगा, एक 'ज्ञात' काम की नकल करने के लिए, अर्थात पुराने कॉन्फ़िगरेशन, बैक और फिर सेवा को पुनः आरंभ करने के लिए ...
cpbills

1

क्या आप SSH सेवा के PID में सिर्फ एक किल -HUP नहीं चला सकते थे? यह साफ नहीं है, लेकिन यह काम करता है


2
अक्सर, डेमन के कॉन्फ़िगरेशन को फिर से लोड करने SIGHUP का सबसे अच्छा तरीका है।
ग्रैविटी


1
pkill -HUP sshdमेरा कनेक्शन बंद कर दिया। इसने काम किया:kill -HUP $(pgrep -f /usr/bin/sshd)
टॉम हेल

0

मैंने पाया है कि आजकल sshdअपने सत्रों को फिर से शुरू करने के लिए डिस्कनेक्ट नहीं करता है, खासकर जब यह रेडहैट आधारित डिस्ट्रो है। आप हमेशा एक छोटी स्क्रिप्ट लिख सकते हैं जो स्वतः ही sshdबैकअप से आपके कॉन्फिगरेशन को बहाल कर देगी और sshd5 मिनट के बाद cronया atजॉब के रूप में रीस्टार्ट होगी । यह सुनिश्चित करेगा कि यदि आप डिस्कनेक्ट हो जाते हैं, तो भी आप कम से कम अपने सर्वर में वापस आ सकते हैं।


-1

मैं sshd कनेक्शन पर SSHD को पुनः लोड / पुनः लोड करने की अनुशंसा नहीं करूंगा। मैंने ऐसे कई अवसर देखे हैं जहाँ sshd_config में एक सिंटैक्स त्रुटि के कारण sshd अभी वापस शुरू नहीं होगा।

भले ही सब कुछ कॉन्फ़िगर फ़ाइल के साथ ठीक है, यह जोखिम भरा है।


9
आप पहले से ही config फाइल का परीक्षण करने के लिए sshd -t का उपयोग कर सकते हैं।
मिलन बाबूकोव

धन्यवाद मिलान, मैंने जल्दी से उस तरह के विकल्प के लिए आदमी के माध्यम से देखा, अपाचे में -s तो मुझे भी -s पर ध्यान केंद्रित किया गया होगा।
मिच

मैं अपने जवाब में आपकी टिप्पणी को अवशोषित करने जा रहा हूं, जब भी sshd समाप्त होता है, तो यह खुले ssh सत्रों को नीचे नहीं लाता है, लेकिन यह जानना अच्छा है कि आपका सिंटैक्स मान्य है, यदि आप इसे पसीना कर रहे हैं।
cpbills
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.