ہر سرور کو واضح نام دیں
یکساں انداز کے عرفی نام وقت بچاتے اور غلطیاں کم کرتے ہیں۔ ~/.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 پورٹ تک رسائی نہیں ہو رہی؛ خود سرور اب بھی چل رہا ہو سکتا ہے۔