لینکس سرور سے جڑنے کا بنیادی طریقہ SSH پروٹوکول کے ذریعے ہے ۔ اس قسم کا کنکشن محفوظ ہے، کیونکہ اس کے ذریعے منتقل ہونے والا تمام ڈیٹا انکرپٹڈ ہے۔ SSH کنکشن قائم کرنے کے لیے آپ کو اسے اس ریموٹ سرور پر کنفیگر کرنا چاہیے جس سے آپ جڑنا چاہتے ہیں، اور صارف کی طرف کلائنٹ۔ SSH کنکشن کے لیے ایک ٹن سافٹ ویئر موجود ہے۔ جہاں تک لینکس کا تعلق ہے، OpenSSH پیکیج سب سے زیادہ مقبول ہے اور ونڈوز کے لیے لوگ زیادہ تر PuTTY استعمال کرتے ہیں۔
آئیے مثال کے طور پر Ubuntu Server 18.04 کا استعمال کرتے ہوئے سرور کی ترتیب پر گہری نظر ڈالیں، اور پھر Linux اور Windows سے سرور سے جڑنے کی کوشش کریں۔
ہم جو کچھ بھی کریں گے وہ ایک عام صارف کے اکاؤنٹ سے ہوگا۔ اس صورت میں، ہم نے ایک صارف " mihail " بنایا ہے، اور " root " اکاؤنٹ بطور ڈیفالٹ غیر فعال ہے۔
سرور سائیڈ سیٹ اپ
اس کمانڈ کو چلانے والے پیکیج کو ترتیب دیں:
sudo apt install openssh-server
انسٹالیشن مکمل ہونے کے بعد، یقینی بنائیں کہ سروس چل رہی ہے۔ یہ کمانڈ استعمال کریں:
systemctl status sshd
اسٹیٹس " ایکٹو (چل رہا ہے) " کا مطلب ہے کہ سروس فعال ہے اور عام طور پر چل رہی ہے۔
فائر وال کے ذریعے آنے والے کنکشنز کو مسدود کرنے سے بچنے کے لیے، یقینی بنائیں کہ آپ نے اسے غیر فعال کر دیا ہے، کیونکہ ہم اس مضمون میں نیٹ ورک فائر وال کو کنفیگر نہیں کرنے جا رہے ہیں۔
یہ کمانڈ استعمال کریں:
sudo ufw disable
اس مرحلے پر آپ پہلے ہی سرور سے جڑ سکتے ہیں۔ پہلے سے طے شدہ ترتیبات کے ساتھ سرور پاس ورڈ کی بنیاد پر تصدیق کے ساتھ معیاری پورٹ 22 سے کنکشن کی اجازت دیتا ہے۔
لینکس سے SSH کنکشن
ایک اصول کے طور پر، OpenSSH کلائنٹ پہلے سے طے شدہ طور پر لینکس پر انسٹال ہوتا ہے اور اسے اضافی دستی کنفیگریشن کی ضرورت نہیں ہوتی۔ ssh کمانڈ کی مدد سے ٹرمینل سے کنکشن قائم کیا جا سکتا ہے۔ اس معاملے میں پیرامیٹرز ریموٹ سرور کا صارف نام اور IP ایڈریس ہوں گے۔ ہمارے ٹیسٹ سرور پر جسے ہم بطور مثال استعمال کر رہے ہیں صرف ایک اکاؤنٹ "mihail" ہے، لہذا ہم اسے استعمال کریں گے۔
ssh [email protected]
پہلے کنکشن پر آپ کو ڈیٹا بیس میں سرور کی عوامی کلید کے اضافے کی تصدیق کرنی ہوگی، اس لیے " ہاں " کا جواب دیں۔ اس کے بعد آپ پاس ورڈ درج کر سکتے ہیں۔ اگر کنکشن کامیابی سے ہو جاتا ہے، تو آپ کو سرور کی کمانڈ لائن کا خوش آمدید متن نظر آئے گا۔ اب تمام کمانڈز ریموٹ سرور پر ہی عمل میں آئیں گی۔
ونڈوز سے SSH
پٹی کھولیں اور کنکشن کے پیرامیٹرز سیٹ کریں۔ اس بات کو یقینی بنائیں کہ سوئچ " کنکشن کی قسم " کو SSH میں تبدیل کر دیا گیا ہے ۔ آئی پی ایڈریس کو " میزبان کا نام " فیلڈ میں، ڈیفالٹ ویلیو 22 کو " پورٹ " میں درج کریں اور " کھولیں " پر کلک کریں۔
پہلے کنکشن پر پوٹی آپ سے اس بات کی تصدیق کرنے کو کہے گا کہ آپ کو اس سرور پر بھروسہ ہے، لہذا " ہاں " پر کلک کریں۔
لاگ ان اور پاس ورڈ درج کرنے کے بعد، آپ کو ریموٹ سرور کی کمانڈ لائن نظر آئے گی۔
کلید کے ذریعہ تصدیق۔ سیکیورٹی کی بڑھتی ہوئی سطح
جب کوئی کلائنٹ SSH کے ذریعے سرور سے محفوظ کنکشن قائم کرنے کی کوشش کر رہا ہوتا ہے، تو کنکشن کی اجازت دینے سے پہلے سرور کو کلائنٹ کی تصدیق (تصدیق) کرنے کی ضرورت ہوتی ہے۔ جیسا کہ پہلے ذکر کیا گیا ہے، پاس ورڈ پر مبنی توثیق عام طور پر بطور ڈیفالٹ استعمال ہوتی ہے۔ یہ مضبوط سیکورٹی فراہم نہیں کرتا ہے، کیونکہ ہمیشہ اس کو زبردستی کرنے کا ایک طریقہ ہوتا ہے۔ اس کے علاوہ، اسکرپٹ کے استعمال کے ساتھ SSH کنکشنز پر پاس ورڈ کی توثیق کا اطلاق نہیں ہوتا ہے۔
اس قسم کے کاموں کے لیے کلید کے ذریعے توثیق کا ایک خاص طریقہ ہے۔ نقطہ یہ ہے کہ کلائنٹ نجی اور عوامی چابیاں تیار کرتا ہے اور پھر عوامی کلید سرور کو بھیجی جاتی ہے۔ اس کے بعد آپ کو سرور سے جڑنے کے لیے پاس ورڈ کی ضرورت نہیں ہوگی، کیونکہ تصدیق پبلک اور پرائیویٹ کلائنٹ کیز کی بنیاد پر کی جاتی ہے۔ سیکیورٹی کی اچھی سطح فراہم کرنے کے لیے، نجی کلید تک رسائی کو محدود کیا جانا چاہیے۔ اس حقیقت کی وجہ سے کہ نجی کلید کلائنٹ کے سائیڈ پر محفوظ ہوتی ہے اور نیٹ ورک کے ذریعے منتقل نہیں ہوتی، اس طریقہ کار کو زیادہ محفوظ سمجھا جاتا ہے۔
لینکس پر کلید کے ذریعے تصدیق
آئیے ssh-keygen یوٹیلیٹی سافٹ ویئر کی مدد سے کلائنٹ پر پبلک اور پرائیویٹ کیز تیار کریں۔ یہ ٹول پرائیویٹ کلید کا راستہ تبدیل کرنے کی تجویز کرے گا اور اضافی سیکیورٹی کے لیے پاس فریز درج کرے گا۔ تمام پیرامیٹرز کو بطور ڈیفالٹ تمام درخواستوں پر Enter دبانے سے چھوڑ دیں۔
نتیجتاً، .ssh فولڈر میں ہوم ڈائرکٹری میں آپ کو دو فائلیں ملیں گی: id_rsa اور id_rsa.pub جو اس کے مطابق پرائیویٹ اور پبلک کیز پر مشتمل ہیں۔
اس کے بعد، آپ کو سرور پر عوامی کلید بھیجنے کی ضرورت ہوگی۔ ایسا کرنے کے لیے، سرور پر موجود " id_rsa.pub " فائل کے مواد کو " ~/.ssh/authorized_keys " فائل میں کاپی کریں۔ آئیے " ssh-copy-id " ٹول کی مدد سے سب سے آسان طریقہ پر چلتے ہیں ۔ سرور کا لاگ ان اور آئی پی ایڈریس درج کریں، بالکل اسی طرح جیسے عام کنکشن کے معاملے میں۔ پاس ورڈ درج کرنے کے بعد، کلائنٹ کی عوامی کلید خود بخود سرور پر کاپی ہو جائے گی۔ اس کمانڈ کو چلائیں:
ssh-copy-id [email protected]
یہ سب کرنے کے بعد، سرور کو مزید پاس ورڈ داخل کرنے کی ضرورت نہیں پڑے گی۔
ونڈوز پر کلید کے ذریعے تصدیق
PUTTYGEN کھولیں اور " جنریٹ " پر کلک کریں۔ چابیاں پیدا کرنے کے لیے، آپ کو صرف اپنے ماؤس کو اسکرین پر منتقل کرنے کی ضرورت ہے اور ٹول تصادفی طور پر چابیاں تیار کرے گا۔
چابیاں تیار ہونے کے بعد، " پرائیویٹ کلید محفوظ کریں " پر کلک کریں اور اسے اپنی ڈسک پر موجود نجی کلید کے ساتھ فائل میں محفوظ کریں۔ آپ جو بھی راستہ چاہیں سیٹ کر سکتے ہیں، لیکن تھوڑی دیر بعد آپ کو پوٹی میں اس کی وضاحت کرنی ہوگی۔ پھر ونڈو کے اوپری حصے سے عوامی کلید کو کاپی کریں۔
آئیے عوامی کلید کو صرف ٹرمینل پر کاپی کرکے بھیجیں۔ پٹی کھولیں اور ہمیشہ کی طرح سرور سے جڑیں۔ اب آئیے " .ssh/authorized_keys " بنائیں اور دوسرے صارفین کو فائل تک رسائی سے روکیں، لہذا یہ صرف تخلیق کار کے لیے دستیاب ہے۔
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
فائل بنانے کے بعد اس میں کلائنٹ کی پبلک کی ڈال دیں۔ پچھلے مرحلے میں ہم نے عوامی کلید کو کلپ بورڈ میں کاپی کیا۔ فائل میں کلپ بورڈ میں کیا ہے اسے ریکارڈ کرنے کے لیے cat کمانڈ اور آؤٹ پٹ ری ڈائریکشن کا استعمال کریں۔
cat > .ssh/authorized_keys
کمانڈ داخل کرنے کے بعد، ٹرمینل ونڈو میں دائیں ماؤس کے بٹن پر کلک کریں اور جو کچھ کلپ بورڈ میں ہے اسے چسپاں کریں۔ ان پٹ کی تصدیق کرنے کے لیے، " Ctrl+D " شارٹ کٹ دبائیں اور سرور سے منقطع ہوجائیں۔
اب پٹی میں پرائیویٹ کلید کا راستہ بتاتے ہیں اور دوبارہ سرور سے جڑتے ہیں۔
اب سے، سرور سے جڑنے کے لیے آپ کو صرف صارف نام درج کرنے کی ضرورت ہوگی۔ اگر آپ کسی دوسرے آلے سے سرور سے جڑنے کی کوشش کر رہے ہیں جس کے پاس صحیح نجی کلید نہیں ہے، تو سرور پاس ورڈ کی درخواست کرے گا۔ کلید پر مبنی توثیق کے سیٹ اپ ہونے کے بعد، آپ پاس ورڈ کے ذریعے رسائی کی اجازت دے سکتے ہیں۔