آزمایشگاه انلاین

بایگانی‌ها SSH Keys - آزمایشگاه انلاین | سرور مجازی | سرور اختصاصی

چگونه برای امنیت بیشتر پورت ssh را در لینوکس تغییر دهیم؟
چگونه برای امنیت بیشتر پورت ssh را در لینوکس تغییر دهیم؟
نحوه تغییر رمز ویندوز سرور ۲۰۰۸
نحوه تغییر رمز ویندوز سرور ۲۰۰۸
نحوه تغییر رمز ویندوز سرور ۲۰۰۳
نحوه تغییر رمز ویندوز سرور ۲۰۰۳
آموزش نصب MongoDB در سرور لینوکس CentOS
آموزش نصب MongoDB در سرور لینوکس CentOS
آموزش نصب ssl در سی پنل
آموزش نصب ssl در سی پنل
آموزش نصب Webmin در سرور لینوکس
آموزش نصب Webmin در سرور لینوکس
محدود کردن سرعت دانلود هر کانکشن در nginx به کمک limit_rate
محدود کردن سرعت دانلود هر کانکشن در nginx به کمک limit_rate
DameWare Central Server 12.0.2
DameWare Central Server 12.0.2
افر ویژه تعداد محدود سرور مجازی المان
افر ویژه تعداد محدود سرور مجازی المان
تغییر آی پی در cpanel/whm
تغییر آی پی در cpanel/whm
مقایسه عجیب وب سرور Litespeed با آپاچی و Nginx
مقایسه عجیب وب سرور Litespeed با آپاچی و Nginx
محدود کردن تعداد کانکشن ها و سرعت دانلود آپاچی
محدود کردن تعداد کانکشن ها و سرعت دانلود آپاچی

خرید هاست با قیمت مناسب

خرید هاست با قیمت مناسب

هاست اشتراکی | هاست پربازدید | سرور مجازی المان | سرور مجازی فرانسه | سرور مجازی | هایپر سرور | سرور اختصاصی | سرور | سرور از 12 لوکیشن | سی پنل | دایرکت sll

  • تاریخ : 8th آوریل 2017
  • موضوع : لینوکس
  • بازدید : 2,250 views

SSH Keys چیست ؟!

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

استفاده از این روش زمانی که تعداد سرور های شما زیاد بوده و نیاز است تا از ابزار های DevOPS استفاده کنید و یا در مواقعی که نیاز به یکپارچه سازی اتصال دارید بسیار مفید بوده و ضمن تضمین امنیت راه حل مناسبی خواهد بود. برای راه اندازی این روش در ادامه مقاله همراه ما باشید.

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

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

ssh-keygen -t rsa

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

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

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

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

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

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

بطور کلی روند ساخت SSH Keys بصورت زیر خواهد بود:

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

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

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

مرحله سوم – کپی کردن 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 Keyy اطمینان حاصل نمایید.

PermitRootLogin without-password

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

service sshd restart

systemctl restart sshd

 

نکته: دستور ری استارت سرویس SSH ممکن است در هر نسخه و یا توضیع لینوکس متفاوت باشد. دستورات بالا مربوط به توضیع CentOS میباشد.