دو SSH عرفی نام، ایک سرور: براہِ راست VPN یا جمپ ہوسٹ
منظور شدہ VPN راستہ اور منظور شدہ باسٹین راستہ الگ عرفی ناموں اور بک مارکس کے طور پر رکھیں، تاکہ کسی شارٹ کٹ کو یہ اندازہ نہ لگانا پڑے کہ کون سا راستہ مجاز ہے۔
وہی نجی سرور منظور شدہ VPN کے ذریعے اور منظور شدہ باسٹین کے ذریعے جواب دیتا ہے، اور آپ اندازہ لگانے والے شارٹ کٹ کی بجائے ہر ایک کے لیے ایک Emacs بک مارک چاہتے ہیں۔ فیصلہ یہ نہیں کہ کون سا راستہ بہتر ہے؛ یہ ہے کہ آپ کے سامنے کے کام کے لیے کون سا راستہ مجاز ہے۔ دونوں کو واضح رکھیں، ان کے الگ نام رکھیں، اور فائل کا نام بتائے کہ آپ نے کون سا چنا۔
پہلی شرط: کون سے راستے منظور شدہ ہیں؟
جمپ ہوسٹ VPN کی ضرورت کا خودکار متبادل نہیں ہے، اور VPN منظور شدہ باسٹین کو چھوڑنے کا لائسنس نہیں ہے۔ پوچھیں کہ آپ کے اکاؤنٹ اور اس ڈیٹا کے لیے کون سے راستے مجاز ہیں۔ اگر دونوں مجاز ہیں تو آپ کے پاس انتخاب ہے؛ اگر صرف ایک، تو بک مارک سیٹ میں ایک اندراج ہے۔ وہ جواب ڈیٹا کے مالک سے آتا ہے، آج اتفاقاً چلنے والے راستے سے نہیں۔
جواب لکھ لیں، کیونکہ واقعے کے دوران یہ فرق جلدی مٹ جاتا ہے۔
دونوں راستوں کو اپنی اکاؤنٹ اور شناخت کی ترتیب بھی درکار ہے۔ ایک راستے پر چلنے والا مشترکہ عرفی نام دوسرے پر ان وجوہات سے ناکام ہو سکتا ہے جن کا نیٹ ورک سے کوئی تعلق نہیں۔
دوسری شرط: کیا آپ ہر راستے کو الگ الگ نام دے سکتے ہیں؟
SSH ترتیب ایک پتے کے لیے دو ہوسٹ عرفی نام رکھ سکتی ہے، ہر ایک کا الگ پراکسی رویہ۔ مخصوص بلاکس کو کسی بھی وسیع وائلڈ کارڈ سے پہلے رکھیں، کیونکہ زیادہ تر اختیارات کے لیے پہلی حاصل شدہ قدر جیتتی ہے۔
Host proj-direct proj-bastion
HostName 10.60.0.21
User analyst
ControlPath none
Host proj-direct
ProxyJump none
Host proj-bastion
ProxyJump gw.example.com
اوپر دیا گیا پتہ ایک مثال ہے؛ اسے اس پتے سے بدلیں جو آپ کی ٹیم دستاویز کرتی ہے۔ جمپ عرفی نام کو باسٹین کے منظور شدہ اکاؤنٹ کی بھی ضرورت ہے، جس کا عام مطلب باسٹین کے لیے ہی دوسرا Host بلاک ہے۔ یہاں کنکشن شیئرنگ بند کرنا راستوں کے موازنے کو ایماندار رکھتا ہے، کیونکہ دوبارہ استعمال شدہ ملٹی پلیکس کنکشن اس راستے کی تبدیلی سے زیادہ جی سکتا ہے جسے آپ دیکھنے کی کوشش کر رہے ہیں۔
پھر دور دراز کی فائل کے نام الگ اور قابلِ مطالعہ رہتے ہیں۔
/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md
تیسری شرط: کیا ایڈیٹر فرق جانتا ہے؟
TRAMP ان دو فائل ناموں کو الگ منزلیں سمجھتا ہے، اور یہی وہ چیز ہے جو آپ چاہتے ہیں۔ ہر ایک کو ایسے نام کے تحت بک مارک کریں جو بتائے کہ یہ کون سا راستہ استعمال کرتا ہے، اور ایک منزل کا مطلب بدلنے کی بجائے بک مارک دوبارہ کھولیں۔ دو بک مارک موازنے کو بھی نظر آنے والا بناتے ہیں: آپ دونوں کھول کر دیکھ سکتے ہیں کہ کون ناکام ہوتا ہے، بغیر کوئی ترتیب بدلے۔
ProxyJump شامل ہونے پر ایک سیٹنگ توجہ کے قابل ہے: متعلقہ کنکشنز کے لیے TRAMP کی کنکشن شیئرنگ بند ہونی چاہیے، اس لیے انہیں کھولنے سے پہلے tramp-use-connection-share کو nil پر سیٹ کریں۔ یہ مطابقت کی سیٹنگ ہے، کسی گمشدہ راستے کی مرمت نہیں، اور یہ غیر مجاز راستے کو مجاز نہیں بناتی۔ TRAMP کے عام سوالات بک مارکس کو ان ناموں کو چھوٹا کرنے کا معاون طریقہ قرار دیتے ہیں۔
خاموشی سے راستہ بدلنے والا بک مارک بالکل بک مارک نہ ہونے سے بھی بدتر ہے۔
نیٹ ورک آئیکن کچھ ثابت کیوں نہیں کرتا
NetworkManager کی مجموعی حالت کی قدر 70 کا مطلب ہے کہ مشین کو عالمی کنیکٹیویٹی حاصل ہے۔ یہ کسی VPN پروفائل کا نام نہیں لیتا، اور عام Wi-Fi اسے پورا کرتا ہے۔ صرف نجی نیٹ ورک کا سرنگ جو آپ کے مطلوبہ راستے کو ٹھیک ٹھیک لے جاتا ہے وہ اس مجموعی قدر کو اچھوتا چھوڑ سکتا ہے۔ اسی لیے آئیکن سے جڑا شارٹ کٹ ایسے راستے کے لیے تیاری کی اطلاع دے سکتا ہے جسے اس نے کبھی آزمایا نہیں۔
عالمی حالت کی بجائے مخصوص کنکشن کی حالت پڑھیں۔
اگر آپ کچھ خودکار کرتے ہیں تو نامزد کنکشن سے پوچھیں، پھر اسی ترتیب میں ہدف راستہ، حل کنندہ کا جواب اور SSH رسائی جانچیں۔ ان میں سے ہر ایک ناکام ہو سکتا ہے جبکہ پچھلا کامیاب ہو، اور انہیں ایک ہی بولین میں سمیٹنا ہی وہ طریقہ ہے جس سے خودکاری ایسے راستے کے لیے کامیابی کی اطلاع دیتی ہے جسے اس نے کبھی استعمال نہیں کیا۔
راستہ کام کرنا بند کر دے تو کیا کریں
تحقیق سے پہلے اپنے بفر محفوظ کریں، کیونکہ موجودہ TRAMP سیشن راستے کی تبدیلی سے زیادہ جی سکتا ہے اور پھر اگلی تحریر پر ناکام ہو سکتا ہے۔ معاون صفائی کے ذریعے اسے بند کریں، بک مارک دوبارہ کھولیں، اور سرور بند ہونے کا اندازہ لگانے کی بجائے دونوں راستوں کا موازنہ کریں۔
باسٹین اور منزل دونوں کے لیے ہوسٹ کی تصدیق آن رکھیں۔
مختلف راستہ آپ کو ایسی سرور کلید قبول کرنے کا حق نہیں دیتا جس کی آپ توقع نہیں رکھتے تھے، اور یہ غیر منظور شدہ راستے کو قابلِ قبول بھی نہیں بناتا۔ دونوں آپ کے اس فیصلے سے الگ فیصلے ہیں جو آپ لے رہے تھے۔