نحوه تنظیم کلیدهای SSH در CentOS 8

نحوه تنظیم کلیدهای SSH در CentOS 8

سعیده مهاجری

Secure Shell یا (SSH) یک پروتکل رمزنگاری شبکه است که برای ارتباط ایمن بین سرویس گیرنده و سرور طراحی شده است. اگر بخواهیم به زبان ساده تر بیان کنیم ، برای امنیت بیشتر در هنگام لاگین به سیستم ، می‌توان به جای استفاده از نام کاربری و رمز عبور که معمولا مورد استفاده قرار می‌گیرند از کلیدهای SSH استفاده کرد. دو مکانیسم مشهور عبارتند از : تأیید اعتبار کلمه عبور و تأیید اعتبار عمومی مبتنی بر کلید عمومی هستند. استفاده از کلیدهای SSH نسبت به احراز هویت سنتی رمز عبور ایمن تر و راحت تر است. با ما همراه باشید تا شما عزیزان را با نحوه ایجاد کلیدهای SSH در سیستم های CentOS 8 وهمچنین نحوه تنظیم احراز هویت مبتنی بر کلید SSH و اتصال به سرورهای راه دور لینوکس بدون وارد کردن رمز عبور آشنا کنیم.

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

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

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

اگر خروجی چیزی شبیه به دستور No such file or directory، یا no matches found را نشان دهد ، این بدان معناست که کاربر دارای کلیدهای SSH نیست و شما می توانید مرحله بعدی را انجام داده و کلیدهای SSH را ایجاد کنید. در غیر این صورت ، اگر کلیدهای SSH دارید ، می توانید از آن استفاده کنید یا از کلیدهای قدیمی نسخه پشتیبان تهیه کرده و کلیدهای جدید ایجاد کنید. برای ایجاد یک جفت کلید جدید ۴۰۹۶ بیتی 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 در CentOS 8

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

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

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

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

اکنون که کلید SSH ایجاد شده است ، مرحله بعدی کپی کردن کلید عمومی روی سرور مورد نظر برای مدیریت است. ساده ترین و توصیه شده ترین روش برای کپی کردن کلید عمومی در سرور راه دور استفاده از ابزار ssh-copy-id است. در ترمینال دستگاه local خود دستور زیر را اجرا کنید:

ssh-copy-id remote_username@server_ip_address

این دستور از شما می خواهد رمز ورود Remote_us را وارد کنید:

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 ، مراحل زیر را دنبال کنید:

۱_ وارد سرور راه دور خود شوید:

ssh sudo_user@server_ip_address

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

sudo nano /etc/ssh/sshd_config

۳_ دستورالعمل های زیر را جستجو کنید و به شرح زیر تغییر دهید:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

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

sudo systemctl restart ssh

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

جمع بندی :

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

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

برچسب ها: دستورات لینوکس