آپ کو ایک پاس ورڈ محفوظ وسائل کو مربوط کرنے کے لئے ایک لینکس سکرپٹ کو استعمال کرنے پر مجبور کر رہے ہیں تو، آپ کو شاید رسم الخط میں وہ پاس ورڈ ڈال کے بارے میں بیچینی محسوس. OpenSSL آپ کے لئے مسئلہ حل کرتا ہے.
پاس ورڈ اور سکرپٹ
اس شیل اسکرپٹ میں پاس ورڈز ڈال کرنے کے لئے ایک عظیم خیال نہیں ہے. اصل میں، یہ ایک بہت برا خیال ہے. سکرپٹ غلط ہاتھوں میں آتا ہے، ہر کوئی اسے پڑھتا کون دیکھ سکتا پاس ورڈ کیا ہے. لیکن اگر آپ ایک سکرپٹ کو استعمال کرنے پر مجبور کر رہے ہیں تو، آپ اور کیا کر سکتے ہیں؟
آپ کو دستی طور پر جب عمل تک پہنچ جاتا ہے نقطہ، لیکن سکرپٹ ئیے چلانے کے لئے جا رہا ہے، اگر وہ کام نہیں کریں گے پاس ورڈ درج کر سکتے ہیں. شکر ہے، اسکرپٹ میں پاس ورڈز مشکل کوڈنگ کے لئے ایک متبادل نہیں ہے. Counterintuitively، یہ کچھ مضبوط خفیہ کاری کے ساتھ ساتھ، اس کے حصول کے لئے ایک مختلف پاس ورڈ استعمال کرتی ہے.
ہماری مثال منظر نامے میں، ہم اپنے اوبنٹو کمپیوٹر سے ایک Fedora کے لینکس کمپیوٹر پر ایک ریموٹ کنکشن بنانے کے لئے کی ضرورت ہے. ہم Fedora کے کمپیوٹر پر ایک SSH کنکشن بنانے کے لئے ایک شاندار ہڑتال شیل سکرپٹ کو استعمال کرتے ہوئے کیا جائے گا. سکرپٹ ئیے چلانے کے لئے ضروری ہے، اور ہم رسم الخط میں ریموٹ اکاؤنٹ کا پاس ورڈ ڈال کرنے کے لئے نہیں کرنا چاہتا. ہم ڈرامہ کر رہے ہیں کیونکہ ہم Fedora کے کمپیوٹر پر کوئی کنٹرول یا منتظم کے حقوق کی ضرورت نہیں ہے، اس صورت میں SSH چابیاں کا استعمال نہیں کر سکتے.
ہم معروف کے استعمال بنانے کے لئے جا رہے ہیں
اوپن ایس ایس ایل ٹولکٹ
خفیہ کاری اور یوٹیلیٹی بلایا ہینڈل کرنے
sshasp.
پاس ورڈ کو SSH کمانڈ میں کھانا کھلانا.
متعلقہ: لینکس شیل سے SSH کی چابیاں کیسے بنائیں اور انسٹال کریں
OpenSSL سب اور sshpass نصب ہو
دیگر خفیہ کاری اور سیکورٹی، فورم کے اوزار کی ایک بہت OpenSSL سب استعمال کرتے ہیں کیونکہ اس میں پہلے سے ہی آپ کے کمپیوٹر پر نصب کیا جا سکتا ہے. تاہم، اگر یہ نہیں ہے، یہ صرف انسٹال کرنے کے لئے ایک لمحے لگتے ہیں.
Ubuntu پر، اس حکم کی قسم:
سودو مناسب حاصل OpenSSL سب
نصب کرنے کے لئے
sshasp.
اس کمانڈ کا استعمال کریں:
سودو مناسب انسٹال sshpass
Fedora کے پر، آپ کی قسم کی ضرورت ہے:
سودو DNF OpenSSL سبانسٹال
انسٹال کرنے کا حکم
sshasp.
یہ ہے:
سودو DNF sshpassانسٹال
Manjaro لینکس پر، ہم کے ساتھ OpenSSL سب انسٹال کر سکتے ہیں:
سودو Pacman کی -Sy OpenSSL سب
آخر میں، انسٹال کرنے کے لئے
sshasp.
اس کمانڈ کا استعمال کریں:
سودو Pacman کی -Sy sshpass
کمانڈ لائن پر خفیہ کاری
اس سے پہلے کہ ہم استعمال کرتے ہیں
اوپن ایس ایس ایل
اسکرپٹس کے ساتھ کمانڈ، چلو کمانڈ لائن پر اس کا استعمال کرتے ہوئے کی طرف سے اس سے واقف ہو جاتے ہیں. چلو کا کہنا ہے کہ دور دراز کے کمپیوٹر پر اکاؤنٹ کا پاس ورڈ ہے کہ
زنگ آلود! herring.pitshaft
. ہمیں اس پاس ورڈ کو خفیہ کرنے کے لئے جا رہے ہیں
اوپن ایس ایس ایل
.
ہم کیا کرتے ہیں جب ایک خفیہ کاری کا پاس ورڈ فراہم کرنے کے لئے کی ضرورت ہے. خفیہ کاری کا پاس ورڈ خفیہ کاری اور ڈکرپشن کے عمل میں استعمال کیا جاتا ہے. میں پیرامیٹرز اور اختیارات میں سے ایک بہت ہیں
اوپن ایس ایس ایل
کمانڈ. ہم ایک لمحے میں ان میں سے ہر ایک پر ایک نظر ڈالیں گے.
گونج 'زنگ آلود herring.pitshaft!' | OpenSSL سب مشرقی بحریہ کمان -aes-256-CBC -md sha512 -A -pbkdf2 -iter 100000 -نمک -pass پاس: 'pick.your.password'
ہم استعمال کر رہے ہیں
گونج
ایک پائپ کے ذریعے اور میں دور دراز کے اکاؤنٹ کا پاس ورڈ بھیجنے کے لئے
اوپن ایس ایس ایل
کمانڈ.
The.
اوپن ایس ایس ایل
پیرامیٹرز ہیں:
- مشرقی بحریہ کمان -aes-256-CBC انکوڈنگ کی قسم. ہم استعمال کر رہے ہیں اعلی درجے کی خفیہ کاری سٹینڈرڈ صفر بلاک جکڑا جانا؟ ساتھ 256 بٹ کلید صفر.
- -md sha512 : پیغام ڈائجسٹ (ہیش) کی قسم. ہم SHA512 رمزی الگورتھم کو استعمال کرتے ہوئے کر رہے ہیں.
-
-A
: یہ بتاتا ہے
اوپن ایس ایس ایلخفیہ کاری کے مرحلے کے بعد اور ڈکرپشن مرحلے سے پہلے بیس 64 انکوڈنگ لاگو کرنا ہے. - -pbkdf2 : پاس ورڈ کی بنیاد پر اہم ماخذ فنکشن 2 (PBKDF2) کو استعمال کرتے ہوئے آپ کا پاس ورڈ اندازہ لگانے میں کامیابی کے لیے یہ بہت زیادہ مشکل ایک جانور فورس پر حملہ کے لئے ہوتا ہے. PBKDF2 خفیہ کاری انجام دینے کے لئے بہت سے سنگننا کی ضرورت ہے. ایک حملہ آور ان لوگوں سنگننا کی تمام نقل تیار کرنے کے لئے ضرورت ہو گی.
- -iter 100000 : سنگننا کی تعداد PBKDF2 استعمال کریں گے کہ سیٹ کرتا ہے.
- -نمک : ایک تصادفی اطلاق ہوتا نمک قدر کا استعمال کرتے ہوئے سادہ متن ایک ہی ہے، چاہے مرموز پیداوار مختلف ہر وقت ہوتا ہے.
-
-pass پاس: 'pick.your.password'
: پاس ورڈ ہم مرموز ریموٹ پاس ورڈ بےرمز کرنے کے لئے استعمال کرنے کی ضرورت پڑے گی. متبادل
pick.your.passwordآپ کی پسند کا ایک مضبوط پاس ورڈ کے ساتھ.
کے مرموز ورژن ہماری
زنگ آلود! herring.pitshaft
پاس ورڈ ٹرمنل ونڈو پر لکھا ہے.
اس بےرمز کرنے کے لئے، ہم میں ہے کہ مرموز سٹرنگ منتقل کرنے کی ضرورت
اوپن ایس ایس ایل
اسی پیرامیٹرز ہم خفیہ کرنے کے لئے استعمال، لیکن میں انہوں نے مزید کہا کہ کے ساتھ
-d
(بےرمز) اختیار.
گونج U2FsdGVkX19iiiRNhEsG + WM / uKjtZJwnYOpjzPhyrDKYZH5lVZrpIgo1S0goZU46 | OpenSSL سب مشرقی بحریہ کمان -aes-256-CBC -md sha512 -A -d -pbkdf2 -iter 100000 -نمک -pass پاس: 'pick.your.password'
سٹرنگ decrypted ہے، اور ہمارے اصل متن پر ریموٹ صارف کے لیے پاس ورڈ ٹرمنل ونڈو پر اکاؤنٹ جاتا لکھا.
یہ ہے کہ ہم محفوظ طریقے سے ہمارے دور دراز کے صارف کے اکاؤنٹ کا پاس ورڈ خفیہ کر سکتے ہیں ثابت ہوتا ہے. ہم پاس ورڈ ہمیں خفیہ کاری کے مرحلے میں فراہم کی ہے کہ استعمال کرتے ہوئے اس کی ضرورت ہے جب ہم نے بھی یہ بےرمز کر سکتے ہیں.
لیکن یہ اصل میں ہماری صورت حال کو بہتر بنانے میں آتی ہے؟ ہم دور دراز کے اکاؤنٹ کا پاس ورڈ بےرمز خفیہ کاری کا پاس ورڈ درکار ہو تو ضرور ڈکرپشن پاس ورڈ رسم الخط میں رہنے کی ضرورت ہو گی؟ ٹھیک ہے، جی ہاں، یہ کرتا ہے. لیکن مرموز ریموٹ صارف کے اکاؤنٹ کا پاس ورڈ ایک مختلف، پوشیدہ فائل میں محفوظ کیا جائے گا. فائل پر اجازت، کسی لیکن آپ اور نظام کی جڑ صارف کی روک تھام کرے گا ظاہر ہے-سے اس تک رسائی حاصل کرنے.
ایک فائل خفیہ کاری حکم سے پیداوار میں بھیجنے کے لئے، ہم نئ سمت کا استعمال کر سکتے ہیں. فائل ".secret_vault.txt" کہا جاتا ہے ہم سے زیادہ مضبوط ہے کچھ کرنے کے لئے خفیہ کاری کا پاس ورڈ تبدیل کر دیا ہے.
گونج 'زنگ آلود herring.pitshaft!' | OpenSSL سب مشرقی بحریہ کمان -aes-256-CBC -md sha512 -A -pbkdf2 -iter 100000 -نمک -pass پاس: '! راز # والٹ پاس ورڈ' & gt؛ پر .secret_vault.txt
مرئی کچھ نہیں ہوتا، لیکن پاس ورڈ مرموز اور ".secret_vault.txt" فائل کو بھیجا جاتا ہے.
ہم نے اس کو چھپا فائل میں پاس ورڈ کشائی کی طرف سے کام کیا ہے کہ جانچ کر سکتے ہیں. ہم استعمال کر رہے ہیں کہ نوٹ
کیٹ
یہاں نہ
گونج
.
بلی .secret_vault.txt | OpenSSL سب مشرقی بحریہ کمان -aes-256-CBC -md sha512 -A -d -pbkdf2 -iter 100000 -نمک -pass پاس: '! راز # والٹ پاس ورڈ'
پاس ورڈ کامیابی فائل میں ڈیٹا سے decrypted ہے. ہم کریں گے
استعمال
Chmod.
کوئی اور نہیں اس تک رسائی حاصل کر سکتے ہیں تاکہ اس فائل پر اجازتیں تبدیل کرنے کی.
CHMOD 600 .secret_vault.txt
LS -l .secret_vault.txt
کا استعمال کرتے ہوئے ایک اجازتوں 600 کے ماسک فائل مالک کے علاوہ کسی کے لئے تمام کو رسائی ہٹاتا ہے. اب ہم ہمارے سکرپٹ لکھنے کے لئے پر منتقل کر سکتے ہیں.
متعلقہ: لینکس پر chmod کمانڈ کا استعمال کیسے کریں
ایک سکرپٹ میں OpenSSL سب کا استعمال کرتے ہوئے
ہمارا سکرپٹ بہت واضح ہے:
#! / بن / شاندار ہڑتال ریموٹ اکاؤنٹ کی # کا نام REMOTE_USER = گیک دور دراز کے اکاؤنٹ کے لئے # پاس ورڈ REMOTE_PASSWD = $ (بلی .secret_vault.txt | OpenSSL سب مشرقی بحریہ کمان -aes-256-CBC -md sha512 -A -d -pbkdf2 -iter 100000 -نمک -pass پاس: '! راز # والٹ پاس ورڈ') # ریموٹ کمپیوٹر REMOTE_LINUX Fedora کے-34.local = # ریموٹ کمپیوٹر سے رابطہ قائم کریں اور ایک فائل کہا جاتا script.log میں ایک ٹائمسٹیمپ ڈال sshpass -p $ REMOTE_PASSWD SSH -T $ REMOTE_USER @ $ REMOTE_LINUX کریں & lt؛ کریں & lt؛ _Remote_Commands. گونج $ USER "-" $ (تاریخ) & GT؛ & gt؛ پر /home/$REMOTE_USER/script.log _remote_commands
-
ہم نامی ایک متغیر مقرر
REMOTE_USER"geek کے." کرنے کے لئے -
پھر ہم نامی ایک متغیر مقرر
REMOTE_PASSWD".secret_vault.txt" فائل سے نکالا ہم ایک لمحے پہلے استعمال کیا جاتا ہے کہ ایک ہی کمانڈ کا استعمال کرتے ہوئے غیرخفیہ پاس ورڈ کی قدر کرنے کے لئے. -
ریموٹ کمپیوٹر کے مقام نامی ایک متغیر میں ذخیرہ کیا جاتا ہے
REMOTE_LINUX.
کہ معلومات کے ساتھ، ہم استعمال کر سکتے ہیں
SSH.
ریموٹ کمپیوٹر سے رابطہ قائم کرنے کمانڈ.
-
The.
sshasp.کمانڈ کنکشن لائن پر پہلی کمانڈ ہے. ہم کے ساتھ اس کا استعمال-p(پاس ورڈ) اختیار. اس سے ہمیں اس پاس ورڈ کی وضاحت کی اجازت دیتا ہے جو اسے بھیجا جانا چاہئےSSH.کمانڈ. -
ہم استعمال کرتے ہیں
ٹی ٹی(چھدو ٹرمینل مختص کو غیر فعال کریں) کے ساتھ اختیارSSH.کیونکہ ہمیں دور دراز کمپیوٹر پر ہم سے مختص کرنے والی چھتو ٹٹی کی ضرورت نہیں ہے.
ہم ایک مختصر استعمال کر رہے ہیں
یہاں دستاویز
دور دراز کمپیوٹر پر ایک کمانڈ منتقل کرنے کے لئے. دو کے درمیان سب کچھ
_Remote_Commands.
اس معاملے میں ریموٹ کمپیوٹر پر صارف سیشن کے ہدایات کے طور پر تار بھیج دیا جاتا ہے، یہ بش سکرپٹ کی ایک واحد لائن ہے.
ریموٹ کمپیوٹر پر بھیجا گیا حکم صرف صارف اکاؤنٹ کا نام اور ایک ٹائمسٹیمپ کو "سکرپٹ." کہا جاتا ہے.
اسکرپٹ کو ایڈیٹر میں کاپی اور پیسٹ کریں اور اسے "GO-Remote.SH.SH" نامی فائل میں محفوظ کریں. تفصیلات کو اپنے اپنے دور دراز کمپیوٹر، ریموٹ صارف اکاؤنٹ، اور ریموٹ اکاؤنٹ پاس ورڈ کے ایڈریس کو ظاہر کرنے کے لئے یاد رکھیں.
استعمال
Chmod.
سکرپٹ کو عمل درآمد کرنے کے لئے.
Chmod + X go-remote.sh
جو کچھ باقی ہے اسے اس کی کوشش کرنا ہے. چلو ہماری سکرپٹ کو آگ لگائیں.
./ go-remote.sh
کیونکہ ہماری سکرپٹ ایک غیر معمولی سکرپٹ کے لئے ایک کم سے کم سانچہ ہے، ٹرمینل میں کوئی پیداوار نہیں ہے. لیکن اگر ہم فیڈورا کمپیوٹر پر "سکرپٹ." فائل کو چیک کریں تو ہم دیکھ سکتے ہیں کہ دور دراز کنکشن کامیابی سے بنائے گئے ہیں اور یہ کہ "سکرپٹ." فائل کو ٹائمسٹیمپ کے ساتھ اپ ڈیٹ کیا گیا ہے.
بلی سکرپٹ. لو
آپ کا پاس ورڈ نجی ہے
سکرپٹ میں آپ کا دور دراز اکاؤنٹ کا پاس ورڈ ریکارڈ نہیں کیا گیا ہے.
اور اگرچہ ڈراپشن پاس ورڈ ہے، اسکرپٹ میں، کسی اور کو ".SECRET_VAUTT.TXT" فائل تک رسائی حاصل کرنے اور ریموٹ اکاؤنٹ پاس ورڈ کو دوبارہ حاصل کرنے کے لئے فائل تک رسائی حاصل نہیں کرسکتا.