مناسب .ssh/config اجازتیں ترتیب دینا۔

Setting Proper Ssh Config Permissions



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

SSH فائلیں میں محفوظ ہیں۔ .ssh فولڈر. یہ ایک پوشیدہ فولڈر ہے جو ہوم ڈائریکٹری میں رہتا ہے۔ کی .ssh ڈائریکٹری بطور ڈیفالٹ نہیں بنائی جاتی یہ اس وقت بنتا ہے جب آپ ریموٹ ہوسٹ کے ساتھ کنکشن شروع کرتے ہیں یا ssh-keygen نجی اور عوامی توثیقی چابیاں تیار کرنے کا حکم جب آپ چاہیں۔ پاس ورڈ لیس ایس ایس ایچ کی تصدیق قائم کریں۔







کی .ssh فولڈر. ضروری SSH فائلوں پر مشتمل ہے جیسے:



  1. سرکاری اور نجی چابیاں ( id_rsa اور id_rsa.pub ).
  2. کی معلوم_ہوسٹس فائل - ان تمام ریموٹ سسٹم کی پبلک کیز پر مشتمل ہے جن سے آپ جڑے ہوئے ہیں۔
  3. کی تشکیل کلائنٹ کنفیگریشن فائل

اگر تشکیل فائل موجود نہیں ہے ، جیسا کہ دکھایا گیا ہے آپ آسانی سے ایک بنا سکتے ہیں۔



$ touch ~/.ssh/config

.ssh/config کلائنٹ کنفیگریشن فائل۔

ہر بار جب آپ ایس ایس ایچ کنکشن شروع کرتے ہیں ، آپ کو آئی پی ایڈریس یا ڈومین کا نام اور پورٹ ایس ایس ایچ سننے والی تفصیلات کی ضرورت ہوتی ہے۔ مثال کے طور پر،

$ ssh [email protected] -p 22۔

اس طرح کی تفصیلات کو ہمیشہ یاد رکھنا مشکل ہوسکتا ہے۔ اور یہ وہ جگہ ہے جہاں ./.ssh/config فائل اندر آتی ہے ./.ssh/config فائل ایک کنفیگریشن فائل ہے جو آپ کو ریموٹ میزبان کی فی صارف ترتیب کی تفصیلات ترتیب دینے کی اجازت دیتی ہے۔ یہ آپ کو اذیت سے بچاتا ہے کہ کنکشن کے لیے درکار میزبان تفصیلات کو ہمیشہ یاد رکھنا پڑتا ہے۔

جیسا کہ دکھایا گیا ہے ایک نمونہ تشکیل فائل ظاہر ہوتی ہے۔

میزبان اسٹیجنگ سرور۔
میزبان نام 192.168.2.103۔
صارف جیمز۔
پورٹ 22۔

ریموٹ میزبان میں ایک سادہ SSH کمانڈ مندرجہ ذیل نظر آئے گی:

$ ssh اسٹیجنگ سرور۔

.ssh/config فائل کی اجازت۔

پہلے سے طے شدہ طور پر ، ./.ssh/config کلائنٹ کنفیگریشن فائل کے پاس ہے۔ 644۔ فائل کی اجازت آپ اس کا استعمال کرتے ہوئے اس کی تصدیق کرسکتے ہیں۔ ls -la کمانڈ مندرجہ ذیل ہے.

$ ls -la. / .ssh / config

اس سے یہ ظاہر ہوتا ہے کہ فائل کے مالک اور گروپ دونوں نے پڑھنے اور لکھنے کی اجازت (rw) جبکہ دوسرے صارفین کو صرف پڑھنے کی اجازت (r) ہے۔

-rw-rw-r--

نوٹ:

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

یہاں ، تشکیل فائل کو اجازتیں 666 تفویض کی گئی تھیں۔ اس کا مطلب یہ ہے کہ ہر کوئی فائل کو پڑھ اور لکھ سکتا ہے۔

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

بہترین مشق تجویز کرتی ہے کہ آپ پہلے سے طے شدہ اجازتیں چھوڑ دیں۔ 664۔ یا 600 ، جہاں صرف مالک کو پڑھنے اور لکھنے کی اجازت ہے (rw) اس طرح ، فائل غیر مجاز صارفین کے ذریعہ ترمیم ہونے سے محفوظ رہتی ہے۔

مزید برآں ، اس بات کو یقینی بنائیں کہ آپ فائل کے مالک ہیں۔ اگر فائل کسی دوسرے صارف کو تبدیل کر دی جاتی ہے تو ، SSH کنفگ فائل میں فراہم کردہ میزبان نام کو حل نہیں کر سکے گا۔

نیچے دی گئی مثال میں ، ./.ssh/config ملکیت مقرر کی گئی ہے۔ باب: باب

اس مسئلے کو حل کرنے کے لیے ، میں نے فائل کا استعمال کرتے ہوئے اصل فائل کی ملکیت کو واپس کردیا۔ چبانا کمانڈ.

$ sudo chown james: james ~/.ssh/config

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

$ ssh اسٹیجنگ سرور۔

اور آپ کو اجازت نامے ترتیب دینے کے بارے میں جاننے کی ضرورت ہے۔ ./.ssh/config فائل. اس بات کو یقینی بنائیں کہ آپ باقی صارفین کو پڑھنے کی اجازت نہیں دیتے اور اس بات کو یقینی بنائیں کہ آپ فائل کے مالک ہیں۔