لینوکس

آموزش تنظیم کلیدهای SSH در CentOS 8

تنظیم کلید SSH:

تنظیم کلید SSH Secure Shell یک پروتکل رمزنگاری شبکه است که برای اتصال ایمن بین مشتری و سرور طراحی شده است. دو مکانیسم مشهور احراز هویت SSH عبارتند از: تأیید اعتبار کلمه عبور و تأیید اعتبار عمومی مبتنی بر کلید. استفاده از کلیدهای SSH نسبت به احراز هویت سنتی رمز عبور ایمن تر و راحت تر است.

ایجاد کلیدهای SSH در CentOS :

این احتمال وجود دارد که قبلا در سیستم کاربر SSH Keys صادر شده باشد. اگر مجدد کلید جدید صادر کنید جایگزین کلید قبلی خواهد شد. دستور ls زیر را برای بررسی وجود فایل های کلیدی اجرا کنید:

ls -l ~/.ssh/id_*.pub

اگر خروجی دستور چیزی شبیه به No such file or directory یا no matches found را نشان دهد، بدان معنی است که کاربر دارای کلیدهای SSH نیست و شما می توانید مرحله بعدی را انجام داده و SSH Keys را تولید کنید. در غیر این صورت، اگر یک SSH Keys دارید، می توانید از آن ها استفاده کنید یا از کلیدهای قدیمی پشتیبان تهیه کرده و کلیدهای جدید تولید کنید. با وارد کردن دستور زیر یک کلید جدید ۴۰۹۶ بیتی SSH با آدرس ایمیل خود ایجاد کنید:

ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"

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

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

Enter را فشار دهید تا مکان فایل و نام فایل پیش فرض را بپذیرید. در مرحله بعد، از شما خواسته می شود که یک کلمه عبور امن را تایپ کنید. اینکه آیا می خواهید از کلمه عبور استفاده کنید، به شما بستگی دارد. یک کلمه عبور یک لایه امنیتی اضافی را اضافه می کند. اگر نمی خواهید از کلمه عبور استفاده کنید کافی است Enter را فشار دهید.

Enter passphrase (empty for no passphrase):

برای تأیید اینکه جفت کلید SSH جدید شما ایجاد شده است، دستور زیر را تایپ کنید:

ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

شما با موفقیت یک جفت کلید SSH را در دستگاه مشتری CentOS خود ایجاد کرده اید.

کلید عمومی را روی سرور کپی کنید :

اکنون که کلید SSH تولید شده است، مرحله بعدی کپی کردن کلید عمومی روی سرور مورد نظر برای مدیریت است.در ترمینال سیستم خود دستور زیر را وارد کنید:

ssh-copy-id remote_username@server_ip_address

دستور زیر از شما می خواهد رمز عبور remote_username را وارد کنید:

remote_username@server_ip_address's password:

پس از احراز هویت کاربر، محتوای فایل کلید عمومی (~/.ssh/id_rsa.pub) به فایل کاربر ~/.ssh/authorized_keys اضافه می شود و اتصال بسته می شود.

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

اگر ssh-copy-id در رایانه local شما در دسترس نیست، از دستور زیر برای کپی کردن کلید عمومی استفاده کنید:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

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

پس از انجام مراحل بالا، باید بتوانید بدون درخواست رمز عبور وارد سرور شوید. برای تأیید آن، سعی کنید از طریق SSH به سرور خود وارد شوید:

ssh remote_username@server_ip_address

اگر یک رمز برای کلید خصوصی تنظیم نکرده اید، بلافاصله وارد سیستم خواهید شد. در غیر اینصورت، از شما خواسته می شود که کلمه عبور را وارد کنید.

غیرفعال کردن احراز هویت رمز عبور SSH :

برای افزودن یک لایه امنیتی بیشتر به سرور، می توانید تأیید رمز عبور SSH را غیرفعال کنید. قبل از ادامه، مطمئن شوید که می توانید بدون رمز عبور به عنوان یک کاربر با امتیازات sudo وارد سرور خود شوید. برای غیرفعال کردن احراز هویت رمز عبور SSH مراحل زیر را دنبال کنید:

1: وارد سرور ریموت خود شوید:

ssh sudo_user@server_ip_address

2: فایل کانفیگ SSH /etc/ssh/sshd_config را با ویرایشگر متن خود باز کنید:

sudo nano /etc/ssh/sshd_config

3: دستورالعمل های زیر را جستجو کنید و به صورت زیر اصلاح کنید:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

4: پس از اتمام کار فایل را ذخیره کنید و سرویس SSH را با تایپ کردن دستور زیر مجدد راه اندازی کنید:

sudo systemctl restart ssh

در این مرحله، احراز هویت مبتنی بر رمز عبور غیرفعال است.

جمع بندی:

ما به شما نشان داده ایم که چگونه SSH Keys جدید تولید کنید و احراز هویت مبتنی بر کلید SSH را تنظیم کنید. برای مدیریت چندین سرور می توانید از همان کلید استفاده کنید. همچنین آموخته اید که چگونه رمز عبور SSH را غیرفعال کنید و یک لایه امنیتی بیشتر به سرور خود اضافه کنید. به طور پیش فرض، SSH به پورت ۲۲ فراخوانی می شود. تغییر پورت SSH پیش فرض خطر حملات خودکار را کاهش می دهد. برای ساده کردن گردش کار خود، از فایل کانفیگ SSH برای تعریف تمام اتصالات SSH خود استفاده کنید.

امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در میزبان داده همراهی کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا