همه چیز راجع به کلید ها در محیط لینوکس و ویندوز
راهنمای تصویری ساخت و استفاده از کلید در ویندوز و لینوکس
در این مقاله به بررسی و توضیح کلید ها و آموزش و نحوه ساخت کلید SSH در محیط ویندوز و لینوکس میپردازیم. یکی از روش های رمزگذاری نامتقارن که از امنیت بسیار بالایی نیز برخوردار می باشد رمز گذاری به وسیله SSH-KEY است.
یکی از کاربرد های کلید ورود اتوماتیک به سیستم است به عبارت دیگر یکی از کاربرد های مهم کلید اتصال دو موجودیت به یک دیگر می باشد؛ برای مثال از کلید ها جهت اتصال دو سرور به یک دیگر و یا اتصال رایانه به یک سرور از راه دور از آنها استفاده می شود. با زبان بسیار ساده کلید، ابزاری است که در مبدا و مقصد قرار میگیرد و فرآیند انتقال را به وسیله رمزنگاری ایمن می سازد. این اطلاعات را در مبدا رمزنگاری و سپس در مقصد رمزگشایی می شوند.
اما مشکل اینجاست که اگر از این کلید ها برای مدیریت چندین کاربر مختلف استفاده شود، در صورت لو رفتن کلید توسط یکی از کاربرها اطلاعات سایرین نیز به خطر می افتد. بدین منظور بحث جفت کلید ها (عمومی و خصوصی) مطرح گردید.
کلید SSH عمومی و کلید SSH خصوصی چیست و چگونه کار می کند؟
جفت کلید های عمومی و خصوصی از گذرواژه (عباراتی) مرتبط با یکدیگر، اما منحصر به فرد استفاده می کند. این عبارات معمولا از اعداد تصادفی و طولانی تشکیل شده اند. از آنجا که جفت کلیدها با فرمول های ریاضی بسیار پیچیده به یکدیگر مرتبط شده اند، هر آنچه که با یک کلید عمومی رمزگذاری شده باشد فقط با کلید خصوصی مربوطه بازگشایی می شود و برعکس.
لزوم استفاده از جفت کلید های عمومی و خصوصی در بالا توضیح داده شد، در اینجا به شرح هر یک از این کلید ها و کارکردشان پرداخته خواهد شد.
کلید خصوصی (private Key)
کلید های خصوصی برای بازگشایی کلید عمومی استفاده می شود. این کلید ها از حساسیت بالایی برخوردار هستند و باید در حفظ و نگهداری آن بسیار کوشا بود، چرا که در صورت افشای آن ممکن است تمامی اطلاعات رمز گذاری شده فاش و امنیت آن دچار اختلال گردد.
کلید عمومی (public Key)
کلید های عمومی دقیقا همان چیزی هستند که نامشان فریاد میزند، آن ها عمومی هستند. این کلید ها از طریق فایل و یا دایرکتوری خاصی که تمامی کاربران به آن دسترسی داشته باشند در اختیار همگان قرار میگیرند. کلید های عمومی معمولا از اعداد طولانی و تصادفی تشکیل شده اند. در زیر یک نمونه کلید عمومی را مشاهده مینمایید.
نمونه یک کلید عمومی :
3048 0241 00C9 18FA CF8D EB2D EFD5 FD37 89B9 E069 EA97 FC20 5E35 F577 EE31 C4FB C6E4 4811 7D86 BC8F BAFA 362F 922B F01B 2F40 C744 2654 C0DD 2881 D673 CA2B 4003 C266 E2CD CB02 0301 0001
اگر به تازگی با این مفاهیم آشنا شده اید ممکن است کمی سردرگم باشید، بنابراین با ارائه مثالی سعی در تفهیم هرچه بیشتر موضوع برای شما را داریم:
تصور کنید احسان قصد دارد داده های حساسی را به مریم ارسال کند ، و می خواهد مطمئن باشد که تنها آلیس قادر به خواندن آنها خواهد بود . کاری که احسان باید انجام دهد این است که داده ها را با کلید عمومی مریم رمزگذاری می کند. در آنطرف ماجرا فقط مریم به کلید خصوصی مربوط به خود دسترسی دارد. در نتیجه تنها شخصی که قابلیت رمزگشایی داده های رمزگذاری شده را دارد مریم خواهد بود. حتی اگر شخص دیگری به داده های رمزگذاری شده دسترسی پیدا کند ، قادر به خواندن و استفاده از آن نیست.
تاکید برای حفظ و نگهداری کلید خصوصی نیز به همین علت است.حال که با مفهوم کلید و انواع آن آشنا شدید، نوبت آن است که یاد بگیرید چگونه کلید بسازیم ؟در دنیای دیجیتال کلید کاربرد های زیادی دارد، از جمله آن میتوان به استفاده از کلیدها برای انتقال فایل از سرور به یک سرور دیگر و یا از سرور به ویندوز و یا برعکس اشاره کرد که موضوع بحث ما در این مقاله می باشد. همانطور که گفته شد برای استفاده از کلید نیاز به یک کلید عمومی و یک کلید خصوصی می باشد؛ در اینجا آموزش ساخت کلید SSH در ویندوز و لینوکس به صورت کامل برای شما شرح داده خواهد شد.
آموزش قدم به قدم ساخت کلید SSH
ساخت کلید SSH در سیستم عامل لینوکس و ویندوز با یک دیگر تفاوت دارد. برای ساخت کلید در هر کدام از این سیستم عامل ها راه ها و برنامه های مختلفی موجود است که در اینجا ساده ترین و بهترین راه ساخت کلید SSH به شما عزیزان آموزش داده خواهد شد.
ساخت کلید SSH در ویندوز
نرم افزار های زیادی برای ساخت کلید SSH در ویندوز وجود دارد. از پرکاربردترین آنها میتوان به OpenSSH و Putty اشاره کرد. پیشنهاد ما به شما استفاده از نرم افزار Putty می باشد که از لینک زیر قابل دریافت است:
برای ساخت کلید SSH به وسیله Putty دو راه پیش روی شماست :
استفاده از CMD
پس از دانلود و نصب Puttygen وارد محیط Command Prompt شوید (برای این کار از کلید های ترکیبی Win+R استفاده کنید) و بعد از ظاهر شدن صفحه سیاه رنگ فرمان زیر را در آن کپی و سپس کلید Enter را بزنید.
puttygen -t rsa -C "your_email@example.com”
به جای your_email@example.com آدرس ایمیل خود را وارد نمایید.
پس از فشردن کلید Enter سیستم از شما درباره محل ذخیره سازی سوال میپرسد که همان مسیر پیش فرض را انتخاب کنید. در مرحله بعد سیستم از شما برای کلید SSH رمز عبور میخواهد که آنرا وارد و کلید Enter را فشار می دهید. حال اگر به همان آدرس پیش فرض بروید دو فایل با نام های id_rsa و id_rsa.pub مشاهده میکنید که id_rsa همان کلید خصوصی شماست و id_rsa.pub کلید عمومی است.
- id_rsa = کلید خصوصی
- id_rsa.pub = کلید عمومی
استفاده از محیط گرافیکی Putty
وارد Puttygen شده و گزینه Generate را انتخاب کنید. زمانی که کلید SSH ساخته شد شما باید دوکار انجام دهید:
- برروی گزینه Save Private Key کلیک کنید و فایل ارائه شده را در مکانی امن ذخیره نمایید (به یاد داشته باشید این فایل همان کلید خصوصی است که درباره اهمیت آن صحبت شد)
- کل کلید عمومی را کپی کنید و در جایی نگه دارید.
تبریک میگوییم ! اکنون شما موفق به ساخت کلید عمومی و خصوصی شده اید.
استفاده از کلید SSH در سیستم عامل ویندوزی
استفاده از کلید در ویندوز ساده تر از آنچه فکر می کنید است. برای شفاف تر شدن موضوع ذکر این نکته ضروری است که برای استفاده و رمزگذاری اطلاعات در سیستم و سرور مورد نظر باید کلید عمومی را در آن سیستم آپلود کنید. برای مثال در سرورهای لینوکسی باید محتویات کلید عمومی را در یک خط و در فایل با مسیر زیر در لینوکس وارد کرد.
/root/.ssh/authorized_keys
کلید عمومی به صورت زیر در فایل بالا قرار میگیرد.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNqqi1mHLnryb1FdbePrSZQdmXRZxGZbo0gTfglysq6KMNUNY2VhzmYN9JYW39yNtjhVxqfW6ewc+eHiL+IRRM1P5ecDAaL3V0ou6ecSurU+t9DR4114mzNJ5SqNxMgiJzbXdhR+j55GjfXdk0FyzxM3a5qpVcGZEXiAzGzhHytUV51+YGnuLGaZ37nebh3UlYC+KJev4MYIVww0tWmY+9GniRSQlgLLUQZ+FcBUjaqhwqVqsHe4F/woW1IHe7mfm63GXyBavVc+llrEzRbMO111MogZUcoWDI9w7UIm8ZOTnhJsk7jhJzG2GpSXZHmly/a/buFaaFnmfZ4MYPkgJD username@example.com
سپس وارد نرم افزار Putty شده و مسیر زیر را دنبال کنید :
Connection -> SSH -> Auth
سپس با زدن گزینه Browse فایل .ppk که همان کلید خصوصی شماست را انتخاب کنید. پس از اتمام کار برای خارج شدن از کلید های Ctrl+d استفاده کنید.
تبریک میگوییم ! اتصال شما به سرور مورد نظر با موفقیت انجام شد.
ساخت کلید SSH در سیستم عامل لینوکس و مک
ساخت کلید SSH در سیستم عامل لینوکس و مک کاملا شبیه به یک دیگر است. در ادامه ابتدا مطمئن می شویم که کلید SSH موجود نیست و در صورت عدم وجود کلید مراحل ساخت آن را قدم به قدم بیان خواهیم کرد.
قدم اول: آیا سیستم عامل لینوکسی من در حال حاضر کلید SSH دارد؟
برای پاسخ دهی به این سوال وارد محیل ترمینال شوید و دستور زیر را وارد نمایید.
cd ~/.ssh
بعد از آن دو حالت وجود دارد، اگر با پیغام “No such file or directory ” روبرو شدید به این معناست که کلید SSH وجود ندارد و شما باید آن را ایجاد کنید (از قدم دوم صرف نظر و قدم سوم را انجام دهید) اما ممکن است کلیدی قبلا ساخته شده باشد و شما قصد استفاده از آن را داشته باشید، بدین منظور باید کلید مورد نظر را بازگردانی نمایید
قدم دوم: بازگردانی کلید SSH
ممکن است قبلا کلیدی وجود داشته که به دلایلی نیاز به بکاپ گرفتن از آن باشد ، بدین منظور میبایست با استفاده از دستور زیر در محیط SSH اقدام به انجام اینکار نمایید.
mkdir key_backup copy id_rsa* key_backup
قدم سوم:
آموزش ساخت کلید SSH در لینوکس
از آنجایی که ساخت کلید SSH در سیستم عامل لینوکس در محیط ترمینال انجام می شود، میتوان از این روش برای ساخت کلید SSH در مک نیز استفاده کرد.برای تولید کلید SSH وارد محیط ترمینال خود شده و دستور زیر را وارد نمایید
ssh-keygen -t rsa -C "your_email@example.com"
نکته 1 : وارد کردن آدرس در آینده به شما در شناسایی بهتر کلید کمک میکند.
نکته 2 : رمزگذاری پیش فرض در SSH، 2048 بیتی می باشد برای تغییر آن به مقادیر بیشتر به جای دستور بالا میتوانید از دستور زیر استفاده نمایید.
ssh-keygen -t rsa -b 4096
پس از آن مطابق شکل بالا مسیر پیش فرضی که سیستم به شما پیشنهاد میدهد را قبول کنید (این مسیر دایرکتوری /.ssh است که در صورت عدم وجود توسط سیستم ساخته می شود).
در مرحله بعد، سیستم از شما رمز عبور میخواهد، آن را وارد و تایید نمایید.
تبریک میگوییم! شما موفق به ساخت کلید در سیستم عامل لینوکس شدید.
استفاده از کلید SSH در سیستم عامل لینوکس
پس از ساخت کلید در ترمینال سیستم عامل لینوکس، دو فایل با نام های id_rsa و id_rsa.pub در دایرکتوری /.ssh ذخیره می گردد (/.ssh همان محل پیش فرض است که در مراحل قبل بیان شد). id_rsa همان کلید خصوصی شماست و id_rsa.pub کلید عمومی است.
برای متصل شدن به سرور نیز در محیط SSH دستور زیر را وارد کنید.
ssh -i /path/to/id_rsa user@x.x.x.x
منظور از user@x.x.x.x همان نام کاربری شماست.
در صورتی که از خدمات سرور مجازی و یا سرور اختصاصی لینوکسی استفاده میکنید، در جهت امنیت هرچه بیشتر ما اکیدا پیشنهاد میکنیم از کلید های عمومی و خصوص در جهت اتصال به سرور خود استفاده کنید. در صورتی که از کاربران گنجه هاست میباشید و این آموزش برای شما کافی نبود، با کارشناسان فنی ما از طریق تیکت در تماس باشید تا راهنمایی های لازم در خصوص استفاده از کلید های عمومی و خصوصی را خدمت شما ارائه دهند.