हर सर्वर को स्पष्ट नाम दें
एकसमान उपनाम समय बचाते हैं और गलतियाँ घटाते हैं। ~/.ssh/config में हर सर्वर का पता, उपयोगकर्ता, पोर्ट और कुंजी एक नाम के अंतर्गत रखें। नाम में उसकी भूमिका और परिवेश जोड़ें, ताकि प्रोडक्शन परिवेश एक नज़र में पहचान में आ जाए। जिन विकल्पों को किसी खास होस्ट के लिए सेट नहीं किया गया है, वे Host * ब्लॉक से लिए जाते हैं।
Host prod-web-1
HostName 203.0.113.10
User admin
IdentityFile ~/.ssh/id_ed25519_prod
IdentitiesOnly yes
Host test-web-1
HostName 203.0.113.20
User adminगलत सर्वर पर काम करने से बचें
कई सर्वर पर काम करते समय गलत विंडो में कमांड लिख देना आसान है। प्रॉम्प्ट में होस्ट का नाम दिखाएँ, प्रोडक्शन पर प्रॉम्प्ट का अलग रंग रखें और किसी भी विनाशकारी कार्रवाई से पहले जाँचें कि आप किस सर्वर पर हैं। सबसे खतरनाक चरण तभी करें जब केवल एक टर्मिनल खुला हो।
hostname -f; whoami; pwdलंबे काम चलते रहने दें
कनेक्शन टूटने पर आम तौर पर शेल और उसमें चल रही कमांड समाप्त हो जाती हैं। लंबे काम सर्वर पर tmux या screen में चलाएँ, ताकि वे चलते रहें और आप उनसे दोबारा जुड़ सकें। क्लाइंट keepalive टूट चुके कनेक्शन का जल्दी पता लगाता है, लेकिन अपने आप काम को चलते रहने नहीं देता।
tmux new -s upgrade
tmux attach -t upgradeजानें कि कौन से सर्वर जवाब दे रहे हैं
कई सर्वर पर काम शुरू करने से पहले जाँचें कि उनके SSH पोर्ट जवाब दे रहे हैं। बंद पोर्ट का मतलब हमेशा सर्वर बंद होना नहीं है: सेवा रुक गई हो सकती है या फ़ायरवॉल आपके नेटवर्क को रोक रहा हो सकता है।
for host in prod-web-1 test-web-1; do
ssh -o ConnectTimeout=5 "$host" 'hostname; uptime' || echo "$host: no connection"
doneCH-J Server Manager में कई सर्वर
सर्वर प्रोफ़ाइल स्थानीय एन्क्रिप्टेड वॉल्ट में सहेजी जाती हैं और एक साथ कई SSH सत्र खुले रह सकते हैं। Alpha 0.1.1 में एक या दो सर्वर के दो टर्मिनल साथ-साथ या ऊपर-नीचे रखे जा सकते हैं और टर्मिनल छिपाने से उसका सत्र समाप्त नहीं होता। केवल एक कनेक्शन होने पर मॉड्यूल उसे अपने आप उपयोग करते हैं और कई खुले होने पर पूछते हैं, इसलिए कोई मॉड्यूल अपने आप दूसरे सर्वर पर नहीं जाता। वॉल्ट लॉक करने पर SSH सत्र डिस्कनेक्ट हो जाते हैं, इसलिए पहले चल रहा काम पूरा करें या उसे tmux में चलने दें।
एक नज़र में उपलब्धता
Alpha 0.1.1 में उपलब्धता मॉनिटर बैकग्राउंड में सहेजे गए सर्वर के SSH पोर्ट से TCP कनेक्शन बनाकर जाँचता है। डिफ़ॉल्ट रूप से यह हर 12 सेकंड में, बिना लॉगिन किए होता है। इसलिए ऑफ़लाइन का मतलब है कि आपके नेटवर्क से SSH पोर्ट तक नहीं पहुँचा जा सकता; सर्वर स्वयं अब भी चल रहा हो सकता है।