از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش تنظیم کلیدهای 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 دارید، می توانید از آن یا استفاده کنید backup کلیدهای قدیمی را بالا ببرید و کلیدهای جدید تولید کنید.
برای ایجاد یک جفت کلید جدید 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
.
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
سودمندی در ماشین محلی شما 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 برای تعریف تمام اتصالات SSH خود استفاده کنید.
اگر سوال یا بازخوردی دارید، در کامنت بگذارید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 22:28:03