از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش تنظیم کلیدهای SSH در CentOS 7
سرفصلهای مطلب
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 جدید شما ایجاد شده است، تایپ کنید:
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
اگر رمز عبور برای کلید خصوصی تنظیم نکرده اید، بلافاصله وارد سیستم خواهید شد. در غیر این صورت از شما خواسته می شود که عبارت عبور را وارد کنید.
غیرفعال کردن احراز هویت رمز عبور SSH
برای افزودن یک لایه امنیتی اضافی به سرور راه دور خود، می توانید احراز هویت رمز عبور SSH را غیرفعال کنید.
قبل از ادامه، مطمئن شوید که می توانید بدون رمز عبور به عنوان کاربر با امتیازات sudo وارد سرور خود شوید.
برای غیرفعال کردن احراز هویت رمز عبور SSH مراحل زیر را دنبال کنید:
-
وارد سرور راه دور خود شوید:
ssh sudo_user@server_ip_address
-
فایل پیکربندی SSH را باز کنید
/etc/ssh/sshd_config
با ویرایشگر متن خود:sudo nano /etc/ssh/sshd_config
-
دستورالعمل های زیر را جستجو کنید و به صورت زیر اصلاح کنید:
/etc/ssh/sshd_configPasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
-
پس از اتمام کار فایل را ذخیره کنید و سرویس SSH را با تایپ کردن مجدد راه اندازی کنید:
sudo systemctl restart ssh
در این مرحله، احراز هویت مبتنی بر رمز عبور غیرفعال است.
نتیجه
در این آموزش، روش ایجاد یک جفت کلید SSH جدید و راه اندازی یک احراز هویت مبتنی بر کلید SSH را یاد گرفته اید. می توانید یک کلید را به چندین سرور راه دور اضافه کنید.
ما همچنین به شما نشان دادهایم که چگونه احراز هویت رمز عبور SSH را غیرفعال کنید و یک لایه امنیتی اضافی به سرور خود اضافه کنید.
به طور پیش فرض، SSH در پورت 22 گوش می دهد. تغییر پورت SSH پیش فرض خطر حملات خودکار را کاهش می دهد.
اگر به طور منظم به چندین سیستم متصل می شوید، می توانید گردش کار خود را با تعریف همه اتصالات خود در فایل پیکربندی SSH ساده کنید.
اگر سوال یا بازخوردی دارید، در کامنت بگذارید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-27 11:04:02