Public Key Authentication یک روش لاگین سرور به صورت امن با استفاده از SSH است که به جای رمز عبور، از یک جفت کلید (Key Pair) رمزنگاری برای اعتبار سنجی استفاده میکند. اگرچه استفاده از یک رمز عبور قوی به جلوگیری از حملات Brute Force کمک میکند، Public Key Authentication قدرت رمزنگاری و ورود خودکار بدون Password را فراهم خواهد کرد.
مواردی که برای ایجاد Public Key Authentication نیاز است:
- Command Line/دسترسی Terminal به همراه دسترسی Admin
- دسترسی SSH
- یک سرور Local و دسترسیداشتن به آن
استفاده از کلید SSH برای احراز هویت
احراز هویت ssh key دارای چهار مرحله است:
- یک Private و Public key ایجاد کنید که به جفت کلید یا Key Pair معروف است. Private Key روی دستگاه محلی باقی میماند.
- Public Key مربوطه را به سرور اضافه کنید.
- سرور Public Key را به عنوان تایید، ذخیره و علامتگذاری می کند.
- سرور به هر کسی که مالکیت Private Key مربوطه را ثابت میکند، اجازه دسترسی میدهد.
مدل فرض میکند که Private Key امن است. افزودن یک عبارت عبور برای رمزگذاری Private Key، یک لایه امنیتی برای اکثر موارد مبتنی بر کاربر اضافه میکند. برای اهداف اتوماسیون، نرمافزارها و شیوههای مدیریت کلید اعمال میشوند، چرا که در غیر این صورت Private Key بدون محافظت باقی میماند.
ایجاد SSH Key Pair
SSH Key Pair را در سرور محلی با استفاده از OpenSSH ایجاد کنید. دستورالعملهای اساسی برای لینوکس در زیر مشخص شدهاست.
1.محیط ترمینال را باز کنید
2.کامند زیر را وارد کنید:
ls -l ~/.ssh/id*
اگر از قبل کلیدهایی وجود داشته باشد، خروجی محتویات دایرکتوری را به صورت زیر نشان میدهد:
ایجاد کلیدهای جدید به طور پیشفرض کلیدهای فعلی را بازنویسی میکند. با این حال، ایجاد یک اسم جدید برای کلیدها آنها را در فایلهای مختلف ذخیره میکند.
اگر هیچ کلیدی وجود نداشته باشد، خروجی به صورت زیر نمایش داده میشود:
3.دایرکتوری را با استفاده از دستور mkdir برای ذخیره Key Pair جدید ایجاد کنید:
mkdir ~/.ssh
4.Permission را به مقدار 700 تغییر دهید.
chmod 700 ~/.ssh
5.دستور زیر Key Generator را راهاندازی میکند.
ssh-keygen
خروجی یک پیام را چاپ میکند که نشان میدهد دستور با موفقیت اجرا شدهاست. سپس برنامه از شما میپرسد که فایل را کجا ذخیره کنید:
فهرست و فایل پیشفرض برای ذخیرهسازی کلید، /home//.ssh/id_rsa است. اگر کلیدهای موجودی دارید که میخواهید نگه دارید، نام فایل جدیدی را وارد کنید. در غیر این صورت، Enter را فشار دهید تا در مکان پیشفرض ذخیره شود. اگر از قبل کلیدهایی در این مکان وجود داشته باشد، برنامه دادهها را بازنویسی میکند.
6.در نهایت یک رمز عبور برای ایمنکردن کلید وارد کنید. Enter را فشار دهید و در صورت درخواست، یک بار دیگر عبارت عبور را تأیید کنید. هر زمان که از کلید برای احراز هویت استفاده میکنید، رمز عبور لازم است.
7. در نهایت، برنامه اطلاعات مربوط به محل ذخیره کلیدها را چاپ میکند. علاوه بر این، یک نمایش دیجیتال و گرافیکی نیز روی کنسول چاپ میشود.
8. با بررسی محتویات، تأیید کنید که کلیدها در فهرست هستند:
/ls -l ~/.ssh
این دایرکتوری اکنون شامل دو فایل است:
- id_rsa که Private Key است.
- id_rsa.pub که Public Key است.
Login به سیستم
پس از ایجاد و کپیکردن کلیدها، با استفاده از دستور زیر از سیستم وارد سرور خود شوید:
@<host
نکته:اگر نام کاربری را مشخص نکنید، SSH از کاربر وارد شده فعلی استفاده میکند.
دستور یک فرمان برای وارد کردن رمز عبور Private Key ظاهر میشود:
در نهایت رمز عبور را برای بازکردن قفل کلید وارد کنید.
پس از تأیید، Command شما را از طریق SSH وارد سرور میکند.