تا به اینجا باید کاملاً موضوع ورود به سرور لینوکس با کلیدهای امنیتی Public Key و Private Key برای شما روشن شدن باشد. اگر نه، حتماً چند مقالۀ آموزشی قبلی را مطالعه نمایید. در قسمت قبلی تنظیمات سرویس SSH را برای ورود امن با کلیدهای SSH انجام دادیم. حالا میخواهیم به طریقۀ ساخت کلیدهای امنیتی اشاره کنیم. یکی از این کلیدها (Public Key) روی سرور لینوکس قرار میگیرد و دیگری (Private Key) روی رایانۀ شما که قرار است به سرور متصل شود قرار میگیرد. پس از آن زمانی که خواسته باشید به سرور متصل شوید، این دو کلید با هم مقایسه میشوند و اگر با همدیگر مطابقت داشته باشند، اتصال از طریق SSH به سرور برقرار میشود.
بسته به اینکه سیستم عامل رایانۀ شما چیست، طریقۀ ساخت کلیدهای امنیتی فرق میکنند. البته این را باید بدانید که شما حتی میتوانید این کلیدها را روی سرور لینوکس خود هم بسازید و سپس کلید خصوصی (Private Key) را روی رایانۀ خود بیاورید. اما بنا به دلایل امنیتی بهتر است این کلیدها را روی رایانۀ خودتان بسازید. حالا اول باید ببینیم سیستم عامل رایانۀ شخصی شما چیست؟
ساخت کلید روی رایانۀ لینوکس
کار ساخت کلیدهای امنیتی روی لینوکس بسیار ساده است. کافی است از دستور ssh-keygen استفاده کنید و به چند تا سوال که از شما پرسیده میشود پاسخ دهید. کلیدها ساخته شده و در مسیری که تعیین کردید ذخیره میشوند. پس پایانه یا خط فرمان لینوکس رایانۀ خود را باز کرده و دستور زیر را درون آن وارد کنید:
ssh-keygen
- در مرحلۀ اول باید مسیری که قرار است کلیدهای خصوصی و عمومی ذخیره شوند را تعیین کنید. در تصویر زیر مسیر پیش فرض /root/.ssh/id-rsa در نظر گرفته شده که اگر میخواهید کلیدها در همین مسیر ذخیره شوند، کافی است Enter را بزنید. کلیدها در یک پوشۀ مخفی با نام ssh. در مسیر root قرار میگیرند.
- اگر میخواهید برای رمزنگاری خود کلیدها کلمۀ عبوری در نظر بگیرید، کافی است در این مرحله رمزی را وارد کنید. اگر نمیخواهید رمزی را وارد کنید کافی است با Enter به مرحلۀ بعدی بروید. رمزی که در این مرحله وارد میکنید را باید در مکانی امن نگهداری کنید. چرا که با هر بار ورود به سرور از شما درخواست خواهد شد. مگر اینکه رمزی را وارد نکنید؛ که پیشنهاد نمیشود.
- در مرحلۀ بعدی هم باید رمز عبور را دوباره وارد کنید. اگر در مرحلۀ فبلی رمزی را تعیین نکرده باشید، اینجا هم میتوانید با Enter کار ساخت کلیدهای امنیتی را تمام کنید.
نکته: رمزهایی که در لینوکس وارد میکنید برای شما قابل دیدن نیستند. ولی وارد میشوند.
بدین ترتیب دو تا کلید ۲۰۴۸ کیلوبایتی برای شما در مسیری که تعیین کرده بودید ساخته میشود و با وارد شدن به پوشۀ ssh. میتوانید آنها را ببینید. حالا به این کلیدها کاری نداریم تا در مقالۀ آموزشی بعدی به طریقۀ استفاده از آنها برای ورود به سرور اشاره کنیم. اما الان میرویم سراغ ساخت کلید روی رایانههایی که سیستم عاملشان ویندوز است.
ساخت کلید روی رایانۀ ویندوز
از آنجایی که در ویندوز ما ابزاری نداریم که بتوانیم با آن کلید امنیتی از نوع RSA بسازیم، باید از یک نرم افزار جانبی که هم خانوادۀ PuTTY است استفاده کنیم. نام این نرم افزار PuTTYgen است. پس باید به اینجا مراجعه کنید و از قسمت سبز رنگ صفحه PuTTYgen را دریافت کنید. این نرم افزار هم رایگان است.
پس از دریافت PuTTYgen کافی است بدون اینکه خواسته باشید آن را نصب کنید، با دوبار کلیک روی آن اجرایش کنید. پنجرهای همانند تصویر زیر باز خواهد شد.
حالا کافی است روی دکمۀ Generate کلیک کنید و اشاره گر موس خود را در محیط پنجرۀ نرم افزار آن قدر حرکت دهید تا نوار سبز رنگ پیشرفت پُر شود. البته دقت کنید که از قسمت Parameters پایین نرم افزار، گزینۀ SSH-2 RSA حتماً انتخاب شده باشد. البته گزینههای دیگر را هم بسته به نیاز خود میتوانید انتخاب کنید.
حالا اگر قصد دارید خود همین کلید را هم مثل مراحل ساخت کلید در لینوکس، رمزدارش کنید، کافی است رمز خود را درون جعبههای Key passphrase و همچنین Confirm passphrase وارد کنید. در غیر این صورت باید آنها را خالی رها کنید. که اگر خالی باشد در مرحلۀ ذخیره کلید خصوصی نرم افزار از شما یک تاییدیه میگیرد که باید روی Yes کلیک کنید.
حالا باید روی دکمههای Save public key و Save private key به ترتیب برای ذخیرۀ کلید عمومی (که روی سرور راه دور لینوکس شما قرار میگیرد) و کلید خصوصی (که روی رایانۀ شخصی شما قرار میگیرد) کلیک کنید و آنها را در مکانی از رایانۀ خود ذخیره کنید. در هنگام ذخیرۀ Public key نامش را id_rsa.pub قرار دهید و نام Private key را id_rsa بگذارید. کلید خصوصی یا (Private key) که ذخیره میکنید باید با پسوند ppk ذخیره شود که نرم افزار putty این نوع کلید را میشناسد. چون ما بعداً قصد داریم با Putty و کلید خصوصی که ساختیم به سرور متصل شویم.
در نهایت الان چه سیستم عامل رایانۀ شما ویندوز باشد و چه لینوکس، باید کلیدهای عمومی و خصوصی را ساخته باشید و آماده باشید که کلید عمومی را به روی سرور خود منتقل کنید و همچنین از کلید خصوصی روی رایانۀ خودتان برای اتصال به سرور استفاده کنید. پس تا اینجای داستان را داشته باشید تا در نوشتۀ بعدی ادامۀ ماجرا را برای شما شرح دهم.
سلام، من تو این مسیر کلید ساختم، الان آدرس کلید خصوصیم چی میشه ؟ من از آدرس ها و نامهای پیشفرض که گفتید استفاده کردم.
/root/.ssh/id-rsa