دو مختلف واقعات کو رس گئی SSH کلید کہا جاتا ہے، اور ان کے لیے مختلف ردعمل چاہیے۔ عوامی کلید کی تصدیق ایک عوامی کلید اور نجی کلید سے بنایا گیا دستخط بھیجتی ہے، اس لیے نجی کلید کبھی درخواست کا خانہ نہیں ہوتی۔ ایجنٹ فارورڈنگ کچھ اور ظاہر کرتی ہے، کیونکہ آپ کے فارورڈ کردہ ایجنٹ تک پہنچنے والا دور دراز ہوسٹ کلید کبھی رکھے بغیر اس سے دستخط کرنے کو کہہ سکتا ہے۔ اگر ان دونوں کو ایک واقعہ سمجھا جائے تو نتیجہ بے کار کلید کی تبدیلی یا جاری رہنے والی تفویض ہوتا ہے۔

عوامی کلید سے لاگ ان کلید نہیں، دستخط بھیجتا ہے

تصدیق کا تبادلہ صارف کی عوامی کلید اور سیشن ڈیٹا پر دستخط لے کر جاتا ہے۔ سرور وہ دستخط اسی کلید سے جانچتا ہے جس پر اسے پہلے سے بھروسہ ہے، اسی لیے نجی آدھا حصہ غیر محفوظ نیٹ ورک پر بھی کلائنٹ پر رہ سکتا ہے۔ ٹنل دیکھنے والا VPN آپریٹر کسی بھی صورت میں خفیہ کردہ SSH سیشن دیکھتا ہے۔

یہ پروٹوکول کی وضاحت ہے، راستے کے ہر سرے کی بھروسے مندی کی نہیں۔ میزبان کی شناخت کی جانچ کو اٹوٹ رکھیں، کیونکہ کوئی بھی ہوسٹ کلید قبول کرنے والا کلائنٹ یہاں زیرِ بحث کنٹرول سے مختلف کنٹرول چھوڑ چکا ہے۔ پکڑا گیا سیشن اور پکڑی گئی کلید الگ نتائج ہیں، اور ان میں سے صرف ایک اسناد کا ضیاع ہے۔ دونوں کو رپورٹ میں الگ جملوں میں رکھیں۔

ssh-keygen -lf ~/.ssh/id_ed25519.pub
ssh -o StrictHostKeyChecking=yes [email protected]

پہلا حکم عوامی انگوٹھے کا نشان چھاپتا ہے تاکہ آپ اسے سرور کی فہرست سے موازنہ کر سکیں۔ دوسرا اُس ڈیفالٹ پر بھروسہ کرنے کے بجائے جسے کسی نے نہیں پڑھا، میزبان کلید کی جانچ کو واضح کرتا ہے۔ کلیدوں کے بارے میں کچھ بدلنے سے پہلے دونوں چلائیں، تاکہ بنیادی خط دستاویز ہو۔

ایجنٹ فارورڈنگ دستخط کرنے کی صلاحیت سونپتی ہے

فارورڈنگ فعال ہونے پر دور دراز ہوسٹ پر ایک ساکٹ نمودار ہوتا ہے اور مقامی ایجنٹ اس کے ذریعے آنے والی درخواستوں کا جواب دیتا ہے۔ سیشن کے دوران وہ ساکٹ استعمال کر سکنے والا کوئی بھی شخص لوڈ کردہ شناختوں کو قبول کرنے والے ہوسٹوں کے سامنے آپ کے طور پر تصدیق کر سکتا ہے۔ اس کے کام کرنے کے لیے کوئی نجی کلید نیٹ ورک عبور نہیں کرتی۔

انکشاف صلاحیت ہے، فائل نہیں۔ اسی لیے فارورڈنگ کسی نامزد کام اور نامزد ہوسٹ کی ہے، لیپ ٹاپ کے ہر کنکشن کی نہیں۔ فارورڈ کردہ ایجنٹ کے بغیر کنکشن آگے بھیجنے والا جمپ ہوسٹ عام طور پر ضرورت ہی مکمل طور پر ختم کر دیتا ہے۔

ssh-add -l
ssh -o ForwardAgent=no [email protected]
ssh -J [email protected] [email protected]

پہلا بتاتا ہے کہ ایجنٹ اس وقت کون سی شناختیں رکھتا ہے، جو اس کا ساکٹ کسی دوسری مشین کو دینے سے پہلے جاننا چاہیے۔ دوسرا تفویض کے بغیر جڑتا ہے۔ تیسرا وہ جمپ ہوسٹ نمونہ دکھاتا ہے جو اکثر فارورڈنگ کی جگہ لے لیتا ہے۔

اپنے پاس موجود شواہد سے ردعمل چنیں

جس دستخطی شناخت کو بے نقاب سمجھا جائے، اس کے لیے تبدیلی اور منسوخی کا عمل چاہیے، اور اُن خدمات سے اس کی قبولیت ہٹانی چاہیے جنہیں اس پر بھروسہ تھا۔ اپنے لیپ ٹاپ پر نقل مٹانے سے ہر دوسری نقل اچھوتی رہتی ہے۔ خدمات سے شروع کریں، پھر کلائنٹ صاف کریں۔

عارضی تفویض کا مسئلہ زیادہ محدود ہے۔ جو فارورڈنگ ضروری نہ تھی اسے ختم کریں، اور واقعے کے مالک کے ساتھ جائزہ لیں کہ اس نے کون سے سیشن اور شناختیں ڈھکیں۔ کلید کی تبدیلی بعد میں آ سکتی ہے، مگر یہ شواہد طے کرتے ہیں، فکر نہیں۔

کوئی مشاہدہ شدہ برآمد نہ ہونا صرف یہ ثابت کرتا ہے کہ جس طریقہ کار سے آپ ڈرتے تھے وہ ظاہر نہیں ہوا۔ یہ اس بارے میں کچھ نہیں کہتا کہ اس ساکٹ کے دوسرے سرے کا ہوسٹ اور کیا کر سکتا تھا۔

رپورٹ میں کنٹرول الگ رکھیں

نجی مواد کی حفاظت کریں، محدود کریں کہ کون اس سے دستخط مانگ سکتا ہے، دوسرے فریق کی شناخت کی جانچ شدہ رکھیں۔ یہ تین کنٹرول ہیں جو ایک دوسرے کو مضبوط کرتے ہیں، اور کیا ہوا یہ بتاتے وقت ان میں سے کوئی دوسرے کی جگہ نہیں لیتا۔

خطرے میں گھرا لیپ ٹاپ یا اس پر ایک مراعات یافتہ ایپلیکیشن بہت وسیع اثر کے تیسرے کیس ہے۔ VPN راستہ بدلنے سے یہ حل نہیں ہوتا اور ڈسک سے پڑھی جا سکنے والی کلید پر بھروسہ واپس نہیں آتا۔

لکھیں کہ کس جزو پر بھروسہ تھا، فارورڈنگ فعال تھی یا نہیں، اور حقیقت میں کیا مشاہدہ کیا گیا۔ وہی ریکارڈ اگلے فیصلے کو رساؤ کے معنی کے بارے میں اندازے کے بجائے قابلِ دفاع بناتا ہے۔

متعلقہ مضامین