وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش تنظیم کلیدهای SSH در CentOS 7

0 2
زمان لازم برای مطالعه: 3 دقیقه



Secure Shell (SSH) یک پروتکل شبکه رمزنگاری است که برای اتصال ایمن بین مشتری و سرور طراحی شده است.

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

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

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

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

برای انجام این کار، دستور ls زیر را اجرا کنید که تمام کلیدهای عمومی را در صورت وجود فهرست می کند:

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

اگر خروجی دستور چیزی شبیه به No such file or directory یا no matches found این بدان معنی است که شما کلیدهای SSH را در دستگاه مشتری خود ندارید و می توانید مرحله بعدی را ادامه دهید و جفت کلید SSH را ایجاد کنید.

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

با ایجاد یک جفت کلید جدید 4096 بیتی 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 passphrase (empty for no passphrase):

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

کل تعامل به این صورت است:

یک جفت کلید SSH جدید ایجاد کنید

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

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

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

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

ساده ترین و توصیه شده ترین راه برای کپی کردن کلید عمومی در سرور راه دور استفاده از ابزاری به نام ssh-copy-id. در ماشین محلی شما terminal نوع:

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 ابزار در رایانه محلی شما در دسترس نیست، از دستور زیر برای کپی کردن کلید عمومی استفاده کنید:

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

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

پیشنهاد می‌کنیم بخوانید:  روش تنظیم بلوک های سرور Nginx روی اوبونتو 22.04

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

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

قبل از ادامه، مطمئن شوید که می توانید بدون رمز عبور به عنوان کاربر با امتیازات sudo وارد سرور خود شوید.

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

  1. وارد سرور راه دور خود شوید:

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

    sudo nano /etc/ssh/sshd_config
  3. دستورالعمل های زیر را جستجو کنید و به صورت زیر اصلاح کنید:

    /etc/ssh/sshd_config
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no
  4. پس از اتمام کار فایل را ذخیره کنید و سرویس SSH را با تایپ کردن مجدد راه اندازی کنید:

    sudo systemctl restart ssh

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

نتیجه

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

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

به طور پیش فرض، SSH در پورت 22 گوش می دهد. تغییر پورت SSH پیش فرض خطر حملات خودکار را کاهش می دهد.

اگر به طور منظم به چندین سیستم متصل می شوید، می توانید گردش کار خود را با تعریف همه اتصالات خود در فایل پیکربندی SSH ساده کنید.

اگر سوال یا بازخوردی دارید، در کامنت بگذارید.

امنیت centos ssh
برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-27 11:04:02

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

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

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید