مقاله وبلاگ

نحوه تنظیم کلیدهای ssh در لینوکس

آذر ۲۷, ۱۳۹۸, نویسنده: ۰ نظر

نحوه تنظیم کلیدهای ssh در لینوکس

کلیدهای SSH راهی مطمئن برای ورود به سرور لینوکس و یونیکس دارند .

SSH Keys  چیست ؟!

برخلاف روش استفاده از پسورد، کرک کردن ssh key با روش Brute Force تقریبا غیر ممکن است. Key pair دو متن یا string  طولانی ایجاد میکند: یکی کلید Public  یا عمومی و دیگری کلید Private یا خصوصی که هردو برای اتصال به سرور مورد نیاز خواهد بود. کلید public را میتوانید بر روی سرور های خود قرار داده و با SSH Client که کلید Private را دارد به انها متصل شوید، زمانی که کلید ها با یکدیگر Match باشند اتصال بدون درخواست پسوورد برقرار خواهد شد. برای افزایش امنیت حتی میتوانید درخواست پسوورد را نیز برای اتصال فعال نمایید.

برای اتصال به سرویس SSH لینوکس شما می توانید از 2 روش مختلف استفاده کنید:

1. اتصال به SSH با پسورد

2. اتصال به SSH با کلید‌های Private key و Public keyکه  این روش در سرورهای VPS ،cloud ، اختصاصی یا حتی خانگی مستقر توصیه می شود.

نحوه تنظیم کلیدهای  SSH:

مرحله اول – ایجاد RSA Key Pair:

در مرحله اول نیاز است تا یک جفت کلید که یکی از انها Public و دیگری نیز Private است ایجاد نمایید. در لینوکس کافیست دستور زیر را برای کلید ها در command-line  وارد نمایید.

ssh-keygen -t rsa

مرحله دوم – ذخیره کلید ها و PassPhrase:

پس از وارد کردن دستور ایجاد کلید ها در خط فرمان چند سوال از شما خواهد شد. در سوال اول از شما محل مورد نظر جهت ذخیره کلید ها پرسیده خواهد شد:

Enter file in which to save the key (/home/demo/.ssh/id_rsa)

در صورت تمایل میتوانید ادرس مورد نظر خود را وارد نمایید. در غیر این صورت میتوانید Enter را زده تا فایل کلید ها در ادرس ذکر شده در خط فرمان ذخیره شود.

در مرحله بعد از شما PassPhrase درخواست میشود. با استفاده از PassPhrase حتی اگر Private key در اختیار شخصی قرار داده شده باشد بدون دانستن PassPhrase نمیتوانید به سرور متصل شود. اعمال و یا عدم اعمال پسورد دوم به سلیقه شما بستگی دارد. در صورت عدم تمایل کافیست Enter را زده و وارد مرحله بعد شوید.

پس از پایان کار کلید های ایجاد شده در مسیر های انتخابی ذخیره خواهد شد. مانند زیر:

Public Key: /home/demo/.ssh/id_rsa.pub

Private Key: /home/demo/.ssh/id_rsa

تنظیم کلیدهای ssh در لینوکس

تنظیم کلیدهای ssh در لینوکس

اکنون برای استفاده شخصی یا کلیدهای دسترسی SSH برای استفاده از سیستم به کلیدهای کاربری SSH بروید.

مرحله سوم: کپی کردن Public Key

پس از ایجاد کلیدها زمان ان رسیده تا Public Key را وارد سرور مجازی مورد نظر خود نمایید. با استفاده از دستور ssh-copy-id  میتوانید عملیات مورد نظر خود را انجام دهید.

ssh-copy-id User@YourServerIPAddress

توجه داشته باشید در جای گذاری اطلاعات صحیح IP  و نام کاربری را وارد نمایید. برای این کار روش دومی هم وجود دارد که میتوانید با استفاده از دستور ssh نیز فایل Public Key را به سرور مورد نظر انتقال دهید.

cat ~/.ssh/id_rsa.pub | ssh User@YourServerIPAddress “mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys”

پس از انجام مراحل بالا باید بتوانید بدون درخواست پسورد به سرور خود متصل شوید. هرچند اگر PassPhrase را فعال کرده باشید از شما برای ورود پسورد درخواست خواهد شد.

مرحله چهارم – غیر فعال کردن پسورد root برای لاگین به SSH

زمانی که عملیات کپی فایل Public Key به سرور مورد نظر به پایان رسید از اتصال به سرور بدون استفاده از اطلاعات root  اطمینان حاصل نمایید، پس از ان میتوانید محدودیت های لازم را بر روی یوزر root اعمال کرده و اتصال به SSH از طریق پروتکل SSH را غیر فعال نمایید. برای اعمال تغییرات فایل کانفیگ SSH  را باز نمایید.

sudo nano /etc/ssh/sshd_config

در این فایل متن PermitRootLogin را جستجو کرده و ان را بصورت زیر تغییر دهید تا از اتصال فقط ار طریق SSH Key  اطمینان حاصل نمایید.

PermitRootLogin without-password

سپس سرویس ssh را ری استارت نمایید تا تغییرات اعمال شود.

service sshd restart

systemctl restart sshd

 

مراحل فوق به شما کمک می کند تا کلیدهای SSH را روی هر سرور خصوصی مجازی به روشی کاملاً ایمن ، ایمن و بدون دردسر نصب کنید.

نکته: این دستورات مربوط به توزیع CentOS می باشد در توزیع های دیگر لینوکس ممکن است شکل دستورات کمی تغییر کند.

مریم ممتاز

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.